Мне нужно знать, запущен процесс или нет
Мне нужен командный файл для продолжения всякий раз, когда "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