如何使用 handle.exe 和进程名称解锁文件?

Rad*_*dek 8 windows-7 sysinternals

我尝试了 Unlocker 1.9.1,但它在 Windows7 上不能正常工作(在 Windows XP 上工作正常),我还尝试了 LockHunter 2.0.2.103 x64 并报告了一个错误,但是 .... LockHunter 实际上从 GUI 解锁了文件,但是不是从命令行。

所以我想通过使用handle.exe Sysinternals的解锁一个文件“TestPro.log”。如果有帮助,我知道绝对路径。我可以通过执行列出所有锁定文件的进程

C:\Windows\system32>c:\edutester\progs\handle testpro.log
java.exe           pid: 2120   type: File           338: C:\Users\Public\TestPro
\TestPro Automation Framework\Logs\TestPro.log
java.exe           pid: 1004   type: File           934: C:\Users\Public\TestPro
\TestPro Automation Framework\Logs\TestPro.log
Run Code Online (Sandbox Code Playgroud)

我需要知道如何使用命令行中的上述信息自动解锁文件。不可能有用户干预。

  • 视窗 7 64 位
  • Microsoft Windows [版本 6.1.7601]

Ste*_*ngs 8

您可以使用handle.exe一次来列出 PID 和句柄,然后再次使用多次来关闭每一个。

使用该for /f命令循环遍历第一个命令的结果。我没有方便测试的 Windows 机器,但它应该看起来像这样:

从批处理文件:

for /F "tokens=3,6 delims=: " %%I IN ('handle.exe -accepteula TestPro.log') DO handle.exe -c %%J -y -p %%I
Run Code Online (Sandbox Code Playgroud)

从命令行:

for /F "tokens=3,6 delims=: " %I IN ('handle.exe -accepteula TestPro.log') DO handle.exe -c %J -y -p %I
Run Code Online (Sandbox Code Playgroud)