Подтвердить что ты не робот

Как вы вводите что-то в командной строке DOS Programmatically?

У меня есть программа, которая должна взаимодействовать с программой DOS, прежде чем моя программа сможет продолжить то, что она делает. Я стараюсь, чтобы мой пользователь не мог взаимодействовать с этой программой dos. Таким образом, я создал файл .bat, который делает все, что мне нужно, за исключением последнего шага, который по-прежнему требует взаимодействия с пользователем, которое я пытаюсь избежать.

В частности, тип я команды заканчивается в приглашении dos, где мне нужно автоматически вводить y, а затем вводить (чтобы сказать "да" в приглашении), а затем я хочу выйти из него.

Есть ли способ, которым я могу сделать это автоматически без моего ввода пользователем y и ввода? В идеале, я бы хотел, чтобы консольное окно даже не всплывало, пока это происходит.

4b9b3361

Ответ 1

Вы можете передать символ "y" в программу следующим образом:

echo y | executable.exe

Можно ввести несколько строк следующим образом:

(echo y
echo n) | executable.exe

..., который пройдет сначала "y", затем "n".

См. подсказку Microsoft здесь.

Ответ 2

Сообщение от Microsoft также четко говорит:

Не вводите пробел между символом "y" и символом трубы (|)

и действительно, я заметил, что в моем случае

echo y | executable.exe

не работает в то время как

echo y | executable.exe

отлично работает