Как вы вводите что-то в командной строке DOS Programmatically?
У меня есть программа, которая должна взаимодействовать с программой DOS, прежде чем моя программа сможет продолжить то, что она делает. Я стараюсь, чтобы мой пользователь не мог взаимодействовать с этой программой dos. Таким образом, я создал файл .bat, который делает все, что мне нужно, за исключением последнего шага, который по-прежнему требует взаимодействия с пользователем, которое я пытаюсь избежать.
В частности, тип я команды заканчивается в приглашении dos, где мне нужно автоматически вводить y, а затем вводить (чтобы сказать "да" в приглашении), а затем я хочу выйти из него.
Есть ли способ, которым я могу сделать это автоматически без моего ввода пользователем y и ввода? В идеале, я бы хотел, чтобы консольное окно даже не всплывало, пока это происходит.
Ответы
Ответ 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
отлично работает