如何运行批处理文件,该文件对当前正在运行的所有其他cmd.exes执行任务,除了正在执行任务kill命令的那个?
答案 0 :(得分:4)
组合这两个主题:
你可以在一个简单的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%^"
答案 1 :(得分:1)
复制cmd.exe,将其重命名为a.exe,然后在批处理文件中使用此命令:启动a.exe / k taskkill / f / im cmd.exe
答案 2 :(得分:0)
这对我有用,添加到.bat的最开始,它杀死了所有先前启动的自身实例,然后立即使其自身容易受到随后对同一.bat文件的调用的杀死:
title NewlyLaunchedThing
taskkill /F /IM cmd.exe /FI "WINDOWTITLE ne NewlyLaunchedThing"
title Thing
...do everything else
请注意,“ title”显然是一个关键字,它设置了一个名为“ WINDOWTITLE”的变量。
此外,“ =”(等号)对于分配标题/ WINDOWTITLE显然是可选的。意思是,这同样有效,为清晰起见,可能更可取:
title = newTitle