使用批处理文件自动化windows命令行实用程序-在实用程序启动后向std输入发送击键

使用批处理文件自动化windows命令行实用程序-在实用程序启动后向std输入发送击键,windows,batch-file,command-line-interface,Windows,Batch File,Command Line Interface,我有一个命令行实用程序,它打开命令行中发送的args指定的串行连接。在实用程序启动后,我可以在std输入中键入字符串,将字符串发送到我连接的端口。我想做的是用一个批处理文件启动实用程序(非常简单),然后自动执行我希望发送的击键。我一个人运气不好,需要一些专家的建议 我将给出一个更具体的例子: 我在批处理文件中启动teraterm.exe(开源串行通信实用程序),并使用以下行: “调用serialterm com5 115200 ascii是” 然后,我可以键入“Hello World”并从开放端

我有一个命令行实用程序,它打开命令行中发送的args指定的串行连接。在实用程序启动后,我可以在std输入中键入字符串,将字符串发送到我连接的端口。我想做的是用一个批处理文件启动实用程序(非常简单),然后自动执行我希望发送的击键。我一个人运气不好,需要一些专家的建议

我将给出一个更具体的例子: 我在批处理文件中启动teraterm.exe(开源串行通信实用程序),并使用以下行: “调用serialterm com5 115200 ascii是” 然后,我可以键入“Hello World”并从开放端口接收响应。 我希望批处理文件中的下一行为我发送“helloworld”,这样我就可以通过在批处理文件中列出其他字符串命令来发出它们

非常感谢您的帮助


-Matt

要实现自动化,批处理文件不是完美的解决方案(我也是批处理狂热者之一),因为不可能发送击键。
您可以切换到JScript/VBscript(可以发送击键,但这很棘手,也不太可靠)


但我建议使用AutoIt这样的工具,因为它可以做得很好。

将命令放在另一个文件中,然后使用<.

的确,这不是一个完美的解决方案,但是真的没有办法像在Unix终端中那样将输入重定向到不同的进程吗?您可以使用管道重定向,但不是像TeraTerm这样的程序。因此,我认为唯一的方法将是与AutoIt或类似的SendKeys感谢您的信息和建议!但我不相信这会起作用(tera术语),因为它几乎和管道一样