Send text to standard input of a Windows console app

风流意气都作罢 提交于 2019-12-09 13:09:05

问题


I am trying to write a .bat file to automate some shell commands. Most of the commands are easy and I can just put them into the batch file directly, but there is one command which instead of taking command line parameters, expects you to type in the options you want using "the standard input". I'm not exactly sure what that means. Can someone tell me how to do this? The text I would like to be entered is the contents of one of the files in the directory: "options.txt" which I want to concatenate with a variable inside the batch file "$(additionaloptions)".

Make sense?


回答1:


The usual way to do this in .bat files is to use echo to write a small text file, then redirect the text file to standard in of the command.

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

the_cmd < bar.txt

In your specific example it would something like

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

The fact that you are mention $(variable) suggests to me that this is a makefile rather than a batch file. for a makefile, theres a better way.



来源:https://stackoverflow.com/questions/2075399/send-text-to-standard-input-of-a-windows-console-app

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!