bat列出文件夹下的EXE 并杀掉它的进程

比如列出D盘TEMP目录下所有EXE文件 然后TASKKILL掉它运行的进程 批处理该怎么写呢

你的要求步骤多,效率低,应该这样:

如果进程EXE文件在D盘TEMP目录下,则结束进程。

wmic process where "ExecutablePath like 'D:\\TMP\\%%'" call Terminate

追问

无可用范例. 不知道是什么意思.

追答

代码中目录名少写了一个字母,应该是

wmic process where "ExecutablePath like 'D:\\TEMP\\%%'" call Terminate

如果 无可用范例,说明没有找到进程。

用for命令是不准确的,例如,D:\TEMP 目录下有 a.exe ,其它目录下也有个 a.exe 在运行,用 for 和 taskkill 组合会结束掉其它目录的进程。

追问

嗯,你说的很对,有很多病毒用的是svchost.exe哪样肯定会把系统自带的给杀掉引起系统崩溃。不好意思,分已给上面的人了,刚开始没想哪么多。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-25
@Echo Off
For /r "D:\TEMP" %%i in (*.exe) do (Taskkill /f /im "%%~nxi")
Pause

本回答被提问者采纳
相似回答