您如何运行一个批处理文件,它会杀死当前正在运行的所有其他 cmd.exe,除了正在执行 task kill 命令的那个?
问问题
2809 次
3 回答
4
结合这两个线程:
akillfile.cmd
您可以在一个简单的 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%^"
于 2012-08-19T05:39:44.977 回答
1
复制 cmd.exe,将其重命名为 a.exe,然后在批处理文件中使用此命令: start a.exe /k taskkill /f /im cmd.exe
于 2012-08-19T05:27:58.893 回答
0
这对我有用,添加到 .bat 的最开始,它会杀死所有先前启动的自身实例,然后立即使自己容易被同一个 .bat 文件的后续调用杀死:
title NewlyLaunchedThing
taskkill /F /IM cmd.exe /FI "WINDOWTITLE ne NewlyLaunchedThing"
title Thing
...do everything else
请注意,显然,“title”是一个关键字,它设置了一个名为“WINDOWTITLE”的变量。
此外,“=”(等号)显然对于分配标题/WINDOWTITLE 是可选的。意思是,这也有效,并且为了清楚起见可能是首选:
title = newTitle
于 2020-09-29T20:13:41.710 回答