从批处理文件(cmd)控制交互式控制台程序



我有一个WindowsXP控制台程序,它提供了一个交互式cli模式(一些cisco工具)提示输入用户名和密码。我如何以编程方式管道那些从。bat文件?

这取决于工具。

希望cisco工具支持命令行参数(-username=foo等),可以从管道(echo username | tool.exe)读取命令,或者可以接受输入文件(tool.exe @input.txt)。

如果它从stdin中获得所有输入,则可以创建一个包含正确顺序的输入的文本文件,并将其管道传输到应用程序。例如,创建一个包含以下内容的文件input.txt:

myusername
mypassword

并执行此操作,以便tool.exe从input.txt中获取输入:

tool.exe < input.txt

但这又一次取决于工具。

如果没有这些简单的答案,下一个选项是发送按键到cmd窗口,使用jscript, vbscript或其他一些语言。参见使用批处理文件自动执行windows命令行实用程序-在实用程序启动后将击键发送到std输入。

我遇到了同样的问题,但列出的解决方案都不起作用。我尝试了不同的方法,下面的方法对我有效:

Command.exe "First Interactive choice" "Second one" "Third"

最新更新