5

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

因为我有一个特殊的命令行程序,但我不能使用类似的语法向它发送命令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)

4

3 回答 3

6

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

echo some text | program.exe

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

echo one line > file
echo second line >> file
program.exe < file
于 2009-08-18T16:27:12.070 回答
1

我不是 100% 确定我理解你在寻找什么。这里有两个选项:

  1. 您有两个窗口,每个窗口都运行一个批处理程序。假设它们被称为myscript1.batand myscript2.bat。你想发送一组命令myscript1.bat来执行myscript2.bat

  2. 您有一个名为 的批处理脚本myscript.bat,它执行一个名为 的程序program.exe。你想program.exe执行一些命令,或者做一些事情。

这些都是你要找的吗?这里有一些想法:

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

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

于 2009-07-29T08:35:56.457 回答
0

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

如果是后者,那么我推荐 Autohotkey:http ://www.autohotkey.com/

您可以使用 Autohotkey 作为桥梁,它将命令作为按键发送到另一个批处理文件的窗口。

您可以在他们的论坛中寻求帮助。他们很有帮助。

于 2009-07-29T08:34:16.273 回答