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

Automation 使用.bat文件编写msdos程序脚本,automation,batch-file,Automation,Batch File,我有一个msdos程序,当你执行它时,他会问你3个文本,你需要回答第一个,按回车键,然后第二个,按回车键,然后 我认为答案总是一样的,如何使用.bat文件编写脚本呢?谢谢 如果答案总是相同的,您可以(通常)将标准输入重定向到包含答案的文本文件(每行一个,最后一个答案后应该有一个换行符) 为了编写一个批处理脚本来自动执行此任务,您必须使用一个程序来模拟dos中的按键笔划,例如key fake 另一种方法是使用Windows脚本主机,该主机在本机上具有此功能 示例脚本(javascript)如下所示

我有一个msdos程序,当你执行它时,他会问你3个文本,你需要回答第一个,按回车键,然后第二个,按回车键,然后


我认为答案总是一样的,如何使用.bat文件编写脚本呢?谢谢

如果答案总是相同的,您可以(通常)将标准输入重定向到包含答案的文本文件(每行一个,最后一个答案后应该有一个换行符)


为了编写一个批处理脚本来自动执行此任务,您必须使用一个程序来模拟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以终止脚本


为了帮助您根据需要自定义此脚本,您可以获得更多信息。

您的意思是它们都是一样的,就像每次您运行这三个脚本时,在任何时候,答案都是一样的吗?或者只是偶尔一次?也许这张图片会帮助你:DOS(最终)随着Windows ME而消亡,合适的术语是“控制台应用程序”。谢谢,但我无法很好地解释我自己。没有3个程序,只有一个程序向我提出三个问题,然后给出结果。答案总是3,回答1(按回车键),回答2(按回车键),回答3(按回车键)。也许这个图片会帮助你:这个脚本应该仍然适用于你,只需删除while循环,但保留内容。谢谢,但我无法很好地解释我自己。没有3个程序,只有一个程序向我提出三个问题,然后给出结果。答案总是3,回答1(按回车键),回答2(按回车键),回答3(按回车键)。不,也许这张图片会帮助你:这会满足你的要求。在answers.txt中,将您的解决方案(每行一个)插入到文件中,它将运行。如果要返回其余的,请尝试以下操作:Program.exeresult.txt,它将在文本文件中返回结果。不工作,我认为是因为参数,请参阅我所做的:确保所有命令行选项后面都有answer1 answer2 answer3
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}");
}