有没有办法将命令发送到另一个命令行程序?
'因为我有一个特殊的命令行程序,但我不能使用program.exe something_to_do
程序执行类似这样的事情:(“这里语法”是我想输入文本的地方,也是输入开始的)
TheWhateverCommandLineProgram
Version 1.1
Give an option: "here syntax"
代码中的程序看起来像这样:
echo TheWhateverCommandLineProgram
echo Version 1.1
Set opt=
set /p opt=Give an option:
if %opt%==command1 goto com1
if %opt%==command2 goto com2
...
嗯,我想是因为我不是谁造的(顺便说一下:当然不是叫做TheWhateverCommandLineProgram)
答案 0 :(得分:5)
如果您只想为命令行程序提供键盘输入,您只需使用echo
并管道:
echo some text | program.exe
如果您需要更多行,请将它们写入文件并使用输入重定向:
echo one line > file
echo second line >> file
program.exe < file
答案 1 :(得分:1)
我不是百分百肯定我明白你在寻找什么。这有两个选择:
您有两个窗口,每个窗口都运行批处理程序。假设它们被称为myscript1.bat
和myscript2.bat
。您希望从myscript1.bat
发送一组命令,以便myscript2.bat
执行
您有一个名为myscript.bat
的批处理脚本,它执行名为program.exe
的单个程序。您希望program.exe
执行某些命令,或者执行某些操作。
您要找的是其中之一吗?这是一些想法:
让myscript1.bat
创建第三个文件mycommands.bat
。一旦myscript2.bat
看到文件mycommands.bat
存在,它就会执行并删除它。 (哇。拉姆。)
使用Windows Scripting Host命令(自Win2K以来内置于Windows中)或Powershell(如果已更新,通常在大多数计算机上使用)。这些中的任何一个都可以将击键发送到另一个程序。使用这些按键,您可以控制其他程序。
答案 2 :(得分:0)
其他程序以什么形式输入?从命令提示符?
如果是后者,那么我建议使用Autohotkey:http://www.autohotkey.com/
您可以将Autohotkey用作网桥,它会将命令作为按键发送到其他批处理文件的窗口。
您可以在论坛中寻求帮助。他们非常乐于助人。