使用.bat文件编写msdos程序脚本

时间:2010-11-07 21:46:21

标签: automation batch-file

我有一个msdos程序,当你执行它时,他会要求你提供3个文本,你需要回答firts,点击回车,然后是第二个,点击输入和soo ......

我们认为答案总是一样的,使用.bat文件可以编写脚本吗?谢谢!

2 个答案:

答案 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