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

时间:2013-04-10 14:12:52

标签: windows batch-file scripting

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

2 个答案:

答案 0 :(得分:5)

这取决于工具。

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

如果它从stdin获取所有输入,您可以按正确的顺序创建包含输入的文本文件,并将其传递给应用程序。例如,使用以下内容创建文件input.txt

myusername
mypassword

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

tool.exe < input.txt

但又一次取决于工具。

如果没有这些简单的答案,下一个选项就是使用jscript,vbscript或其他语言向cmd窗口发送击键。请参阅automate a windows command line utility with a batch file - send keystrokes to std input after utility starts

答案 1 :(得分:0)

我遇到了同样的问题,但列出的解决方案都没有奏效。 我尝试了不同的东西,以下内容对我有用:

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