Задать вопрос
irishmann
@irishmann
Научись пользоваться дебаггером

Как игнорируя диалог, перейти к следующей команде?

Формирую и выполняю батник, затем анализирую выходные файлы. Пример кода:
C:\someprogram.exe -someindex somefile.txt > some_resultfile.txt
C:\someprogram.exe -someindex somefile_2.txt > some_resultfile_2.txt
...
C:\someprogram.exe -someindex somefile_n.txt > some_resultfile_n.txt

Таких команд может быть много.
Во время выполнения некоторые из них могут вывести ошибку и вопрос, требующий ответа. Ответ дать я не могу. Батник стопорится, запустившая его программа продолжает ожидать выполнения.

Каким образом мне составить батник, чтобы игнорируя диалог, начиналась выполняться следующая команда?
  • Вопрос задан
  • 79 просмотров
Подписаться Простой Комментировать
Решения вопроса 1
@res2001
Developer, ex-admin
someprogram.exe - консольная?
Если ошибки и вопросы выводит в консоль, а ответа ждет на stdin, то ответы на вопросы можно записать в текстовый файл (например answer.txt) и перенаправлять его вместо стандартного входа:
someprogram.exe ... <answer.txt

Если же someprogram.exe графическая утилита и вопросы возникают в своих окнах, то тут гораздо сложнее, но то же выход есть - нужно использовать утилиты типа nircmd или autoit, чтоб с их помощью в появляющиеся окна вводить информацию или нажимать какие-то кнопки. Эти утилиты умеют эмулировать действия пользователя, все это делается соответствующими скриптами.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
autoit поможет - у них даже IDE есть
autoit-script.ru/index.php
Ответ написан
Комментировать
@Olgeir
Краткий ответ - никак. Если программа не позволяет пропускать диалоги то батник не сможет ничего сделать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы