Создание сценариев для программы msdos с использованием файла .bat - PullRequest
1 голос
/ 08 ноября 2010

У меня есть программа msdos, которая, когда вы выполняете ее, запрашивает у вас 3 текста, вам нужно сначала ответить, нажать ввод, затем второй, нажать ввод и так ...

Думаю, чточто ответы всегда одинаковы, как с помощью файла .bat я могу написать это?Спасибо!

Ответы [ 2 ]

2 голосов
/ 08 ноября 2010

Если ответы всегда одинаковы, вы можете (часто) перенаправить стандартный ввод в текстовый файл, содержащий ответы (по одному в каждой строке, и после последнего ответа должна быть новая строка)

Program.exe -option1 -option2 < answers.txt

Я говорю "часто", потому что некоторые программы будут кодировать стандартный ввод, например, "runas".

answers.txt выглядит так:

answer1
answer2
answer3
0 голосов
/ 08 ноября 2010

Чтобы написать пакетный скрипт для автоматизации этой задачи, вам нужно использовать программу, которая имитирует нажатия клавиш в DOS, такие как key-fake.

Альтернативой может быть использование Windows Script Host, который имеетэта возможность изначально.

Пример сценария (в 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, чтобы завершить выполнение сценария, когда вы хотите его остановить.

Чтобы помочь вам настроить этот сценарий в соответствии с вашими потребностямиВы можете получить больше информации здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...