将命令发送到其他命令行程序

时间:2009-07-29 08:28:56

标签: windows batch-file command send

有没有办法将命令发送到另一个命令行程序?

'因为我有一个特殊的命令行程序,但我不能使用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)

3 个答案:

答案 0 :(得分:5)

如果您只想为命令行程序提供键盘输入,您只需使用echo并管道:

echo some text | program.exe

如果您需要更多行,请将它们写入文件并使用输入重定向:

echo one line > file
echo second line >> file
program.exe < file

答案 1 :(得分:1)

我不是百分百肯定我明白你在寻找什么。这有两个选择:

  1. 您有两个窗口,每个窗口都运行批处理程序。假设它们被称为myscript1.batmyscript2.bat。您希望从myscript1.bat发送一组命令,以便myscript2.bat执行

  2. 您有一个名为myscript.bat的批处理脚本,它执行名为program.exe的单个程序。您希望program.exe执行某些命令,或者执行某些操作。

  3. 您要找的是其中之一吗?这是一些想法:

    1. myscript1.bat创建第三个文件mycommands.bat。一旦myscript2.bat看到文件mycommands.bat存在,它就会执行并删除它。 (哇。拉姆。)

    2. 使用Windows Scripting Host命令(自Win2K以来内置于Windows中)或Powershell(如果已更新,通常在大多数计算机上使用)。这些中的任何一个都可以将击键发送到另一个程序。使用这些按键,您可以控制其他程序。

答案 2 :(得分:0)

其他程序以什么形式输入?从命令提示符?

如果是后者,那么我建议使用Autohotkey:http://www.autohotkey.com/

您可以将Autohotkey用作网桥,它会将命令作为按键发送到其他批处理文件的窗口。

您可以在论坛中寻求帮助。他们非常乐于助人。