我有一个msdos程序,当你执行它时,他会要求你提供3个文本,你需要回答firts,点击回车,然后是第二个,点击输入和soo ......
我们认为答案总是一样的,使用.bat文件可以编写脚本吗?谢谢!
答案 0 :(得分:2)
如果答案始终相同,您可以(通常)将标准输入重定向到包含答案的文本文件(每行一个,最后一个答案后应该有换行符)
Program.exe -option1 -option2 < answers.txt
我经常说“因为某些程序会围绕标准输入进行编码,例如”runas“。
answers.txt看起来像这样:
answer1
answer2
answer3
答案 1 :(得分:0)
为了编写批处理脚本来自动执行此任务,您必须使用一个模拟dos中的键击的程序,例如key-fake。
另一种方法是使用本机具有此功能的Windows脚本宿主。
示例脚本(在javascript中)类似于:
var objShell = WScript.CreateObject("WScript.Shell");
var answer1 = a, answer2 = b, answer3 = c;
while(true) {
var myProg = Wscript.Exec("MyProgram");
WScript.Sleep = 100;
WScript.Echo(answer1);
WScript.SendKeys("{Enter}"); //Simulate Enter key
WScript.Echo(answer2);
WScript.SendKeys("{Enter}");
WScript.Echo(answer3);
WScript.SendKeys("{Enter}");
}
将脚本保存为myscript.js。
在dos提示符下运行以下命令:
cscript myscript.js
如果希望停止脚本,请按control-c终止脚本。
为了帮助您根据需要自定义此脚本,您可以获取更多信息here。