ฉันพยายามตรวจสอบกระบวนการทำงานบน Windows 7 โดยใช้ไฟล์แบตช์ กระบวนการที่ไม่มีช่องว่างสามารถใช้งานได้ดีเช่น notepad.exe ฉันไม่เข้าใจว่าทำไมมันไม่ทำงานและจะขอบคุณความช่วยเหลือใด ๆ
รหัส
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set "EXE=My Process.exe"
FOR /F %%x IN ('tasklist /NH /FI "IMAGENAME eq %EXE%"') DO IF %%x == %EXE% goto ProcessFound
goto ProcessNotFound
:ProcessFound
echo 1
goto END
:ProcessNotFound
echo 0
goto END
:END
ผลที่คาดหวัง
C:\test.bat
1
ผลลัพธ์ที่แท้จริง
C:\test.bat
'Process.exe' is not recognized as an internal or external command,
operable program or batch file.
0
set EXE="My Process.exe"
จะเป็นที่ยอมรับ