Windows批处理相当于“fuser -k <folder>”</folder>

时间:2013-08-05 13:47:35

标签: windows batch-file scripting

我有一个Unix shell脚本会杀死正在访问文件夹的任何进程:

fuser -k ..\logs\*

是否存在与此等效的Windows批处理脚本?我知道TASKKILL,但我不确定它是否能满足我的需求。有谁知道Windows shell是否可以这样做?

2 个答案:

答案 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