2010-01-15 5 views
5

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

Имеют смысл?

ответ

7

Обычный способ сделать это в .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 

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