我有一个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"