1. 总结
我找不到如何通过命令行界面解锁或删除带有所有子文件夹的锁定文件夹。
2. 论证
我正在做这个项目。例如,我的源文件夹 — sources
,输出文件夹 — output
。我查看文件和/或进行测试更改output
→ 我添加更改sources
→ 我运行构建命令(build
例如),它应该覆盖output
。但build
无法正确启动:
文件夹正在使用
无法完成该操作,因为该文件夹或其中的文件已在另一个程序中打开
关闭文件夹或文件并重试
因此,每次build
启动之前我都会打开LockHunter→解锁output
→运行build
。
如果可以output
先运行命令来解锁或删除build
,那就太好了,这样我就不需要每次都手动运行 LockHunter,花费时间了。
3. MCVE
我创建了一个文件夹KiraUnlockCLI
→ 打开命令提示符 → 移动到KiraUnlockCLI
其中 ( cd KiraUnlockCLI
) →KiraUnlockCLI
锁定:
我需要KiraUnlockCLI
以编程方式解锁或删除。
4. 要求
任何类型的程序都可以锁定
output
文件夹和/或其中的文件,例如:- Windows资源管理器
- 命令提示符
- 文本编辑器
- 浏览器
- 图片查看器
解决方案必须解锁文件夹,而不仅仅是文件。我可以在第三方程序中打开文件夹
output
及其子文件夹中的任何文件。- 必须支持相对路径。
output
对我、另一位开发人员和持续集成(Travis CI、AppVeyor)来说位于不同的目录中。
5. 没有帮助
5.1. 相对路径
锁猎人不支持相对路径。
2019 年 9 月初,我写了一篇问题→ 我讲述了我的问题LockHunter 反馈表→ 我还没有收到任何反馈。
5.2. 文件夹支持
这些程序可以解锁文件,但不能解锁文件夹。
5.3. 具体PID
- 处理— 解锁所需的 PID。但我需要终止具有任何 PID 的进程;请参阅我的问题的 4.1 项。
5.4. 图形用户界面
我找不到有关这些程序的命令行界面的任何信息:
5.5. 不起作用
rm -rf KiraUnlockCLI
(rm
从操作系统):/usr/bin/rm: cannot remove 'KiraUnlockCLI`: Device or resource busy
打开文件视图— 执行此命令无效:
openedfilesview /closefolder closeprocess killprocess KiraUnlockCLI
解锁者—
unlocker D:\SashaDebugging\KiraUnlockCLI
:未找到锁定手柄。
但是Unlocker可以帮你处理这个对象。
选择您想要对对象执行的操作。
6. 不要提供
答案1
自从我发现 IOBit Unlocker(大约 10 年前)后,我就不再使用您提供的所有工具和其他一些工具了,为什么?它实际上会删除文件/文件夹,无论如何,界面干净,而且您可以自动执行(如您所要求的)。几年后,我在网上看到一篇文章,说它甚至会删除受保护且正在使用的 Avast AV 文件。
如果您愿意,您可以安装并保持原样,或者只是获取文件并独立使用它(用于IObitUnlocker.exe /?
查看命令行帮助):
已安装:
IObitUnlocker.exe /Delete /Advanced <folder>
独立:
cd <app folder>
sc create IObitUnlocker type= kernel start= demand binPath= "IObitUnlocker.sys"
IObitUnlocker.exe /Delete /Advanced <folder>
sc delete IObitUnlocker
rd /S /Q %AllUsersProfile%\IObit
自动化方面的缺点是操作后会显示一条消息,但您可以使用timeout /T <time> && taskkill /IM IObitUnlocker.exe
。这<time>
取决于文件夹内容/层次结构、正在使用的文件数、系统速度和 CPU/HDD 负载)。请记住,解锁需要提升权限。
如果您碰巧使用 AutoHotKey,那么对话框的关闭(以及您能想到的任何 UI 交互)都很容易实现自动化。
SetTimer, DismissUnlocker, 1000
DismissUnlocker() {
If WinExist("IObit Unlocker ahk_class #32770")
ControlClick, Button1
}