windows – 批处理程序以检查是否存在进程

我想要一个批处理程序,它将检查进程notepad.exe是否存在。

如果notepad.exe存在,它将结束进程,

否则批处理程序将自动关闭。

这是我做的:

@echo off
tasklist /fi "imagename eq notepad.exe" > nul
if errorlevel 1 taskkill /f /im "notepad.exe"
exit

但它不行。我的代码有什么问题?

TASKLIST不设置错误级别。

echo off
tasklist /fi "imagename eq notepad.exe" |find ":" > nul
if errorlevel 1 taskkill /f /im "notepad.exe"
exit

应该做这个工作,因为“:”应该出现在TASKLIST输出中,只有当没有找到任务时,FIND会将错误级别设置为0,找不到1,找到1

尽管如此,

Taskkill / f / im“notepad.exe”

如果没有记事本,就会杀死一个记事本的任务 – 如果没有记事本任务存在,它就不会执行任何操作,所以你真的不需要测试 – 除非还有别的东西要做…也许

echo off
tasklist /fi "imagename eq notepad.exe" |find ":" > nul
if errorlevel 1 taskkill /f /im "notepad.exe"&exit

这似乎是你所要求的 – 杀死记事本过程(如果存在),然后退出 – 否则继续批处理

http://stackoverflow.com/questions/15449034/batch-program-to-to-check-if-process-exists

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:windows – 批处理程序以检查是否存在进程