Поэтому мне нужно написать пакетный сценарий, который запускает исполняемый файл и завершает работу сценария, как только исполняемый файл завершается (поэтому нет сценариев ожидания ip ping), но автоматически завершает выполнение исполняемого файла и выходит из сценария через 30 минут, если исполняемый файл все еще работает ( завис, не отвечает и т.д.)
Вот что у меня есть до сих пор. Оператор find правильно выводит количество совпадающих процессов, но моя проблема в том, что ERRORLEVEL всегда возвращает 0, независимо от того, запущены ли совпадающие исполняемые файлы.
Я новичок в пакетном написании сценариев, поэтому вполне возможно, что я упускаю из виду какую-то очень простую вещь.
@echo off
start calc.exe
REM loop 600 times, each loop being 3 seconds (30 minutes total)
FOR /L %%A IN (1,1,600) DO (
REM find the running executable
tasklist | find /I /C "calc.exe" > nul
echo %ERRORLEVEL%
Rem exit the script if no executable is found (i.e it has run successfully)
if %ERRORLEVEL% eq 1 EXIT
Rem pause for 3 seconds
ping 1.1.1.1 -n 1 -w 3000 > nul
)
REM kill executable if we haven't exited yet
taskkill /f /im calc.exe
Заранее спасибо!