@echo off & title 检测进程并结束 By 依梦琴瑶
set Process=OfficeClickToRun.exe,QQProtect.exe
for %%a in (%Process%) do (
tasklist | find /i "%%~a" >nul 2>nul && (
taskkill /f /im "%%~a" >nul 2>nul && (
echo 成功结束%%~a...
) || (
echo 结束%%~a失败...
)
) || (
echo %%~a未启动
)
)
pause
errorlevel 获得的值,是上一句命令执行后的结果,所以只要命令不报错,都会返回0值。这就为什么不管您的进程有没有在运行,tasklist+find后都会返回0值,因为这时tasklist+find属于正确运行,没有报错。现在换成我这种写法,就完全可以了。