Windows taskkill 未找到标题为 cmd.exe 的

Windows taskkill 未找到标题为 cmd.exe 的

我正在启动很多.bat,在其中执行,例如:

title Waterfall-Proxy

我这样做是为了在想要关闭它们时更容易关闭正确的命令。要关闭它们,我使用:

taskkill /IM cmd.exe /FI “WINDOWTITLE eq Waterfall-Proxy”

但是,这找不到任何具有正确标题的命令。当我使用 tasklist 时,也没有这样的标题的命令。
这是什么原因造成的?

答案1

错误在于多个过滤器全部执行,而不是合并为一个过滤器。这意味着你的taskkill命令将终止全部 cmd.exe

未经测试的改编 关联 Ramhound 在上面的评论中给出的是:

for /f "tokens=2 delims=," %%a in ('
    tasklist /fi "imagename eq cmd.exe" /v /fo:csv /nh 
    ^| findstr /c:"Waterfall-Proxy"
') do taskkill /pid %%a

答案2

for /f usebackq^tokens^=4delims^=^>^< %i in =;(` 2^>nul %__AppDir__%wbem\wmic.exe process where "caption='java.exe' and CommandLine Like '%waterfall-1.20-552.jar%'" get processid /format:xml ^| find "VALUE" `);= do %__AppDir__%taskkill.exe /f /pid %~i

:: or... 

for /f usebackq^tokens^=4delims^=^>^< %i in =;(` 2^>nul %__AppDir__%wbem\wmic.exe process where "caption='cmd.exe' and CommandLine Like '%start_proxy.bat%'" get processid /format:xml ^| find "VALUE" `);= do %__AppDir__%taskkill.exe /f /pid %~i

@echo off

for /f usebackq^tokens^=4delims^=^>^< %%i in =;(`
     %__AppDir__%wbem\wmic.exe process where "caption='java.exe' and CommandLine Like '%%waterfall-1.20-552.jar%%'" get processid /format:xml ^| find "VALUE"
   `);= do %__AppDir__%taskkill.exe /f /pid %%~i

:: or...

for /f usebackq^tokens^=4delims^=^>^< %%i in =;(`
     2^>nul %__AppDir__%wbem\wmic.exe process where "caption='cmd.exe' and CommandLine Like '%%start_proxy.bat%%'" get processid /format:xml ^| find "VALUE"
   `);= do %__AppDir__%taskkill.exe /f /pid %%~i 

假设它指的是瀑布 1.20,尽管这是一个.jar,因此我建议寻找它的PID在一个Java过程中,Name.jar存在于中execution/command line,并通过点击,使用相应/相关的PID number


相关内容