我有一个Unix shell脚本会杀死正在访问文件夹的任何进程:
fuser -k ..\logs\*
是否存在与此等效的Windows批处理脚本?我知道TASKKILL,但我不确定它是否能满足我的需求。有谁知道Windows shell是否可以这样做?
答案 0 :(得分:6)
不使用内置工具(没有任何内容可以枚举句柄),但您可以使用Sysinternals Handle tool来获取文件上具有打开句柄的PID列表。然后,您可以使用FOR /F
解析输出,并使用TASKKILL
结束进程。
示例:
for /f "skip=4 tokens=3" %i in ('handle ..\logs\') do taskkill /pid %i
skip=4
跳过Handle输出中的版权信息,tokens=3
从每行输出中选择PID。其余的都是不言自明的。
答案 1 :(得分:1)
我找到了适用于Windows的fuser
。检查this link到Sourceforge