taskkill 杀批处理进程

2024-11-19 21:00:09
推荐回答(4个)
回答1:

我喜欢来简单的,因为,批处理本来就是为了方便。
@echo off
title sy
taskkill /f /im cmd.exe /fi "windowtitle eq sy" >nul
这个程序会把除了自身以外的所有bat程序关闭。当然咯,这里我给它的名字是sy,你可以改成你的名字。
总之,把这句话,加到你程序最后面就ok啦!

回答2:

直接用pid删除,我试了下可行。

经验说明,子进程cmd的pid会大于父进程cmd的pid,所以你可以加上 pid gt 200?

200?当然是不确定的,所以你得查看,tasklist |findstr cmd 对于你的情况,第一个就是父进程cmd的pid,若果是交互模式,你自己查看了再删。如果你要自动处理,可以用 for 解析获取出第二行的pid,就是子进程ext.bat的pid

亲测通过

@echo off&&setlocal enabledelayedexpansion
set /a n=1
for /f "tokens=2" %%i in ('tasklist^|findstr cmd') do (
if !n!==2 taskkill /pid %%i
set /a n+=1
)
pause

回答3:

根据标题栏信息删除

taskkill /f /FI "windowstitle eq c:\windows\system32\cmd.exe - ext.bat"

最好简化一下,start 的时候设置一下标题栏,或者在ext.bat 里用title命令设置标题栏。

start "ext" ext.bat
taskkill /f /FI "windowstitle eq ext"

回答4:

让ext.bat goto :eof