Отправить текст на стандартный ввод консольного приложения Windows - PullRequest
5 голосов
/ 16 января 2010

Я пытаюсь написать файл .bat для автоматизации некоторых команд оболочки. Большинство команд просты, и я могу просто поместить их непосредственно в командный файл, но есть одна команда, которая вместо того, чтобы принимать параметры командной строки, ожидает, что вы введете нужные параметры, используя «стандартный ввод». Я не совсем уверен, что это значит. Может кто-нибудь сказать мне, как это сделать? Текст, который я хотел бы ввести, представляет собой содержимое одного из файлов в каталоге: «options.txt», который я хочу объединить с переменной внутри пакетного файла «$ (дополнительные опции)».

Имеет смысл?

1 Ответ

7 голосов
/ 16 января 2010

Обычный способ сделать это в файлах .bat - использовать echo для записи небольшого текстового файла, а затем перенаправить текстовый файл в стандартный ввод команды.

@echo foo > bar.txt
@echo if you need multiple lines >> bar.txt

the_cmd < bar.txt

В вашем конкретном примере это будет что-то вроде

copy myfile.txt bar.txt
@echo %variable% >> bar.txt

Тот факт, что вы упоминаете $ (переменную), подсказывает мне, что это make-файл, а не командный файл. для make-файла есть лучший способ.

...