Я не собираюсь проходить остаток вашего сценария, поэтому покажу только то, что вы просили, то есть, если я правильно понял вопрос.В основном вы хотите проверить, работает ли program.iim
, вы хотите выйти из пакетного сценария.Если это так, то это может помочь:
title myscript
timeout /t 120 >nul
tasklist /FI "IMAGENAME eq program.iim" |findstr program.iim
if "%errorlevel%"=="0" taskkill /fi "WINDOWTITLE eq myscript"
Итак, что происходит, мы устанавливаем заголовок командного файла на myscript
, затем делаем тайм-аут в 2 минуты, чтобы проверить, выполняется ли задача program.iim
(то есть, если это действительно создает изображение с этим именем) и, используя findstr
, если изображение все еще работает, мы просто уничтожаем пакетный файл по его названию.
Вы можете добавить следующую строку:
if "%errorlevel%"=="1" goto :start
Что позволит вам перезапустить program.iim
, если он не будет запущен к тому времени, когда вы его проверите.Обратите внимание, что title myscript
предпочтительно должен быть вверху вашего скрипта.