如果Windows中存在进程,则终止

如果Windows中存在进程,则终止,windows,if-statement,process,kill,Windows,If Statement,Process,Kill,我只想在进程存在时终止进程,我想这样做是因为我有一个工具,它只在没有错误的情况下运行,并且我做了一些测试,当我试图终止一个不存在的进程时,确实有一个错误。这是我用来终止进程的行: taskkill /f /IM notepad.exe 但我想验证它只在进程存在时执行 谢谢你 根据问题,您应该尝试以下代码: taskkill /f /im notepad.exe /fi "memusage gt 40" 2>NUL | findstr SUCCESS >NUL &&

我只想在进程存在时终止进程,我想这样做是因为我有一个工具,它只在没有错误的情况下运行,并且我做了一些测试,当我试图终止一个不存在的进程时,确实有一个错误。这是我用来终止进程的行:

taskkill /f /IM notepad.exe
但我想验证它只在进程存在时执行

谢谢你

根据问题,您应该尝试以下代码:

taskkill /f /im notepad.exe /fi "memusage gt 40" 2>NUL | findstr SUCCESS >NUL && if errorlevel 1 ( echo Notepad was not killed ) else ( echo Notepad was killed )
如果这没有帮助,你可以看看并提问

我希望有帮助

根据问题,您应该尝试以下代码:

taskkill /f /im notepad.exe /fi "memusage gt 40" 2>NUL | findstr SUCCESS >NUL && if errorlevel 1 ( echo Notepad was not killed ) else ( echo Notepad was killed )
如果这没有帮助,你可以看看并提问


我希望有帮助

我也试过了,但出于某种原因,它会返回:FIND:Invalid Switch在我试过之后:tasklist/FI IMAGENAME eq notepad.exe 2>NUL | FIND/I/N nodepad.exe>NUL if%ERRORLEVEL%==0 taskkill/f/im notepad.exe您能在您的计算机中尝试这样做吗?不打开记事本运行它,打开记事本时,它不会返回任何内容。记事本打开时,它会返回成功。我认为问题在于我的SO,因为它是WIN7 64位。有什么建议吗?谢谢好的,试试我的更新代码。如果成功,它将打印“Notepad was killed”,否则它将打印“Notepad was not killed”。我已经用我的计算机Win7 64位测试了这段代码,它似乎在管理员和非管理员命令提示符下都能工作。希望它能起作用!非常有用,谢谢。如果您只希望输出没有错误且没有不同的消息,那么缩写版本是:taskkill/f/im notepad.exe/fi memusage gt 40I也尝试过,但出于某种原因,它返回:FIND:Invalid Switch after I trust:tasklist/fi IMAGENAME eq notepad.exe 2>NUL | FIND/N nodepad.exe>NUL If%ERRORLEVEL%==0 taskkill/f/im notepad.exe您可以尝试在计算机中执行此操作吗?不打开记事本运行它,打开记事本时,它不会返回任何内容。记事本打开时,它会返回成功。我认为问题在于我的SO,因为它是WIN7 64位。有什么建议吗?谢谢好的,试试我的更新代码。如果成功,它将打印“Notepad was killed”,否则它将打印“Notepad was not killed”。我已经用我的计算机Win7 64位测试了这段代码,它似乎在管理员和非管理员命令提示符下都能工作。希望它能起作用!非常有用,谢谢。如果您只希望输出没有错误且没有不同的消息,则缩写版本为:taskkill/f/im notepad.exe/fi memusage gt40@echooff tasklist/nh/fi imagename eq notepad.exe | find/i notepad.exe>nul&&taskkill/f/im notepad.exe@echo off tasklist/nh/fi imagename eq notepad.exe | find/i notepad.exe>nul&&taskkill/f/im notepad.exe