Можно ли передать ввод в консольные приложения через командные файлы в Windows? - PullRequest
1 голос
/ 02 марта 2012

В OpenVMS можно написать DCL (DIGITAL Command Language) командные сценарии, которые интерпретируют строки без запроса $ в качестве входных данных для предыдущей команды.

Например, предположим, чточто у нас есть простое приложение ADD.EXE, которое запрашивает ввод для двух вопросов «Введите первое значение:» и «Введите второе значение:», а затем отображает сумму этих двух значений.Тогда в OpenVMS DCL можно было бы написать командный сценарий ADD.COM следующим образом:

$ RUN ADD.EXE
5
7

Когда этот командный сценарий выполняется (введя @ ADD.COM, если я правильно помню), вывод будетbe

12

Я пытался найти способ сделать то же самое с помощью пакетных сценариев Windows, но пока безуспешно.Можно ли это сделать с помощью пакетных сценариев, или есть какой-то альтернативный подход для достижения этого под Windows?

1 Ответ

2 голосов
/ 02 марта 2012

Нет прямой замены этой функции OpenVMS, но обходной путь очень прост:

(
echo 5
echo 7
) | add.exe

Это создает временный файл с двумя строками и передает его на вход ADD.EXE

...