Mat*_*att 8 windows scripting batch-file
我有一个Unix shell脚本会杀死正在访问文件夹的任何进程:
fuser -k ..\logs\*
Run Code Online (Sandbox Code Playgroud)
是否有与此等效的Windows批处理脚本?我知道TASKKILL,但我不确定它是否能满足我的需求.有谁知道Windows shell是否可以实现这一点?
不使用内置工具(没有任何内容可以枚举句柄),但您可以使用Sysinternals Handle工具获取文件上具有打开句柄的PID列表.然后,您可以FOR /F使用解析输出并使用它TASKKILL来结束进程.
例:
for /f "skip=4 tokens=3" %i in ('handle ..\logs\') do taskkill /pid %i
Run Code Online (Sandbox Code Playgroud)
skip=4跳过Handle输出中的版权信息,并tokens=3从每行输出中选取PID.其余的都是不言自明的.