如何运行一个批处理文件,它可以关闭当前正在运行的除了执行任务kill命令的那个cmd.exe之外的所有其他cmd.exe进程?
如何运行一个批处理文件,它可以关闭当前正在运行的除了执行任务kill命令的那个cmd.exe之外的所有其他cmd.exe进程?
结合以下两个线程:
你可以在一个简单的 cmd 文件 (akillfile.cmd
) 中编写类似以下的内容:
title=dontkillme
FOR /F "tokens=2 delims= " %%A IN ('TASKLIST /FI ^"WINDOWTITLE eq dontkillme^" /NH') DO SET tid=%%A
echo %tid%
taskkill /F /IM cmd.exe /FI ^"PID ne %tid%^"
复制cmd.exe,将其重命名为a.exe,然后在批处理文件中使用此命令:start a.exe /k taskkill /f /im cmd.exe
这对我有用,添加到 .bat 文件的开头,以杀死所有先前启动的实例,然后立即使自己易受同一 .bat 文件的后续调用杀死:
title NewlyLaunchedThing
taskkill /F /IM cmd.exe /FI "WINDOWTITLE ne NewlyLaunchedThing"
title Thing
...do everything else
title = newTitle