Автоматизация пользовательского ввода / нажатия клавиш для программы

Я читал об этой проблеме в соответствующих сообщениях, найденных здесь в Superuser; однако моя проблема немного отличается и потенциально трудна для решения: я работаю с филогенетической программой под названием Paup* и написал пакетный скрипт для автоматизации моего анализа.

чтобы автоматизировать этот процесс, мой пакетный скрипт создает временный файл, содержащий серию заданий для Paup* чтобы выполнить. Таким образом, мой пакетный файл не взаимодействует с Paup* приложение напрямую (Paup* своя интерфейс командной строки.)

на полпути к каждой итерации моего анализа Paup * запрашивает пользовательский ввод (формат Y/N) для опции, которую я не могу предварительно указать в своем файле задания. Я просмотрел руководство по команде и не могу найти способ подавить это диалоговое окно.

по существу, мне нужно отправить нажатие клавиши непосредственно Paup*, но только тогда, когда Paup* явно просит меня для ввода. В противном случае отправка не будет отвечать на запросы, так как входные данные не помещаются в очередь. Есть есть способ сделать это?

2
задан Ivan Viktorovic
16.11.2022 21:43 Количество просмотров материала 3124
Распечатать страницу

3 ответа

Im не уверен, что вы можете сделать это с помощью пакетного файла, но есть простой язык сценариев 3rd party, который будет соответствовать вам задачу. Программа называется AutoIT. Вы можете включить свой пакетный скрипт в AutoIT, а затем нажать y с помощью autoit.

Если окно команды имеет определенное имя, когда он ждет ввода его легко сделать с autoit. Вы можете проверить имя или название окна cmd, а затем нажать y или n. Так же это должно быть возможно в разных других пути.

0
отвечен Ivan Viktorovic 2022-11-18 05:31

вы всегда можете попробовать посмотреть интерфейс "sendkeys". Посмотрите на tcc от jpsoftware, который имеет возможность отправлять ключи в другие окна, чтобы увидеть, если это то, что вы хотите.

0
отвечен wendy.krieger 2022-11-18 07:48

чтобы использовать подход, предложенный Иваном Викторовичем (о названии окна), вы все равно можете использовать VBScript. Это легко сделать, проверив, существует ли окно с таким именем, а затем отправив имя окна в "AppActivate" и выполнив ввод с помощью "SendKeys" и отправив соответствующие ключи для отправки Y или N. Это было бы лучше, если вы не хотите загружать дополнительное программное обеспечение.

0
отвечен Ilo 2022-11-18 10:05

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

batch
cmd.exe
script
user-interface
windows
Вверх