Мне нужно знать, запущен процесс или нет

Мне нужен командный файл для продолжения всякий раз, когда "My Own Program.exe" выключается.

Я попробовал это:

@echo off  
:loop  
tasklist /FI "IMAGENAME eq MyOwnProgram.exe" 2>NUL | find /I /N "MyOwnProgram.exe">NUL  
if "%ERRORLEVEL%"=="1" goto done
goto loop  
:done

Он отлично работает для отдельных текстовых процессов, но не для трех слов (например, "My Own Program.exe").

Любая помощь будет оценена.

1 ответ

@echo off
set /a errorlevel=0
wmic process where (Name ="My Own Program.exe")  get  ProcessId | more +1  | findstr "[1234567890]"
if %errorlevel% EQU 1 (
  echo not running
) else (
   echo running
)

Я не совсем уверен, какой из них соответствует IMAGENAME в списке задач, и условие в wmic запросе может быть изменено:

Caption
Description
Name 
Другие вопросы по тегам