1

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

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

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

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

3 ответа3

0

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

0

Я не уверен, что вы можете сделать это с помощью командного файла, но есть простой сторонний язык сценариев, который подойдет вам. Программа называется AutoIT. Вы можете включить свой пакетный скрипт в AutoIT и затем нажать Y с помощью Autoit.

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

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .