-2

Система: Windows 7 64 бит. Интерфейс: cmd.exe.

Мне нужно запустить исполняемый файл в пакетном режиме. При запуске в интерактивном режиме исполняемый файл запрашивает последовательность команд (каждая из которых, конечно, сопровождается клавишей Enter) и, наконец, просит вас нажать клавишу Enter для продолжения (и завершения). Этот последний шаг блокирует меня. Мне удалось написать следующее:

mycode.exe < batch.txt

где файл batch.txt имеет следующий контент.

bar.out
28
foo.in
summary.out

Четыре строки содержат правильные команды mycode.exe . Проблема в том, что я не знаю, как отправить команду "Ввод" в mycode.exe ... Есть ли способ?

РЕДАКТИРОВАТЬ: возможно, я не использую правильные слова. Я не программист и не ученый. Я попробую на практическом примере: если я открою приглашение cmd и напишу (а затем Enter)

D:\test> mycode.exe

я получил

Enter output file name:

я пишу

bar.out

Затем я получаю список опций, среди которых можно выбрать, и подсказку:

Enter option from menu:

я вхожу

28

я получил

Enter input file name:

я вхожу

foo.in

я получил

Enter summary file:

я вхожу

summary.out

Затем код отправляет длинный вывод на экран и, наконец, пишет:

Press ENTER to continue

Если вместо запуска из командной строки я использую

mycode.exe < batch.txt

Я получаю ошибку на Фортране, поэтому я подумал, что, возможно, мне нужно будет включить эквивалент нажатия клавиши ВВОД в мой файл batch.txt .

1 ответ1

1

Поскольку программа, кажется, читает из стандартного входного потока, добавление последней пустой строки в batch.txt должно помочь. Если это не так, то последнее приглашение не использует стандартный ввод, и вам придется прибегнуть к такому стороннему обману, как SENDKEYS или KEYSTACK.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .