Windows 文件被锁定删不掉?PowerToys File Locksmith 1 分钟快速定位占用进程
【免费下载链接】PowerToysMicrosoft PowerToys is a collection of utilities that supercharge productivity and customization on Windows项目地址: https://gitcode.com/GitHub_Trending/po/PowerToys
右键文件,菜单里多出一个 Unlock with File Locksmith,点下去两秒后,窗口列出所有正在占用它的进程——PowerToys 的 File Locksmith 就解决这一件事:查清文件占用,看谁把文件锁住了。
第一次用起来
先装 PowerToys,两种方式最省事:
- 在 Microsoft Store 里搜索 PowerToys,点安装
- 在 PowerShell 里执行一行命令:
winget install --id Microsoft.PowerToys不想走商店或命令行,也可以直接去发布页下载安装包。
装完打开 PowerToys 设置窗口,在左侧导航栏找到 File Locksmith,打开开关,其余选项保持默认。打开文件资源管理器,右键那个提示"文件正在使用"的文件,选择 Unlock with File Locksmith。两秒后新窗口弹出,几秒内列出当前持有这个文件的进程;点任意一行,展开就能看到细节。
它能告诉你什么
结果列表里每个进程占一行,展开后关键信息五项,每一项对应一个判断:
- 进程名:程序名称加图标,第一眼看它是不是你认识的软件
- PID:进程编号,拿它去任务管理器"详细信息"页按 PID 排序,能精确定位到同一行
- 账户:进程以哪个用户身份运行,是 System 还是你本人,一眼区分系统进程
- 句柄类型:进程是"打开了这个文件"还是把文件加载成了模块(dll、exe 本身),后者基本就是程序自身在锁
- 可执行文件路径:进程 exe 的完整路径,用来核对来源安不安全,或直接打开它所在的位置
行尾有"结束任务"按钮,还有"显示进程文件"入口,看完可以直接动手。
三个真实卡点,怎么解
删不掉的文件:先确认谁锁着,再决定关不关
删除文件时弹出"文件正在使用,无法删除"。
- 右键该文件,选 Unlock with File Locksmith,等清单出来
- 看账户列,确认占用方是你自己的软件而不是系统服务
- 点那一行的"结束任务",回到资源管理器重新删除
注意:账户列是 System 的进程别急着结束,重启对应服务更稳。
后台残留:揪出关窗后还占着文件的进程
程序明明关掉了,文件却还被锁,通常是后台残留进程没退出。
- 对被锁文件右键查一遍,重点看可执行文件路径,确认是哪个程序的残留
- 记下 PID,去任务管理器确认它没有在干活,再回到结果窗口点"结束任务"
注意:结束进程不会替它保存没落盘的内容,先确认那个程序没有未保存的工作。
开发调试:定位句柄到底是谁开的
构建或测试反复报"文件正在被另一个进程使用"。
- 右键那个输出文件,看句柄类型:文件句柄多半是上一次构建的残留或另一份项目实例;模块句柄说明有程序加载了它
- 拿 PID 精确结束对应进程;看不到系统服务的句柄时,点窗口右上角"以管理员身份重新启动"
- 自己改 File Locksmith 菜单代码时,可以像仓库调试文档那样在 Visual Studio 里附加到对应进程跟一遍
注意:改完外壳扩展要重启 explorer.exe,否则右键菜单还是旧的。
它是怎么扫到进程的(30秒版原理)
右键菜单本身是外壳扩展:它把你选中的文件路径写进一个临时文件完成进程间通信,再拉起 FileLocksmithUI 界面程序;界面程序用 NtQuerySystemInformation 接口遍历各进程的句柄,挑出匹配你文件的那些,列成清单。扫描核心在 FileLocksmithLibInterop。源码入口在src/modules/FileLocksmith/下按模块拆分,感兴趣可以直接翻。
跟其他工具怎么搭着玩
- 配 PowerRename:批量重命名前,先用 File Locksmith 把锁文件的进程找出来结束掉,再把整个文件夹交给 PowerRename,一次改完
- 配任务管理器:File Locksmith 只告诉你谁在占,不告诉你它占了多少;记下 PID,到"详细信息"页按 PID 排序,看它的 CPU、内存和完整命令行
- 其余:PowerToys Run(Alt+Space)里搜 File Locksmith 能直接跳到设置页;Image Resizer 遇到被锁图片时,先来这查一遍
几个容易踩的边界
- 检测主要针对本地文件系统,网络共享盘上的文件检测有限
- 普通权限看不到全量进程,系统进程的句柄不可见;窗口右上角可以"以管理员身份重新启动"
- 受保护的进程和部分系统进程直接结束不掉,只能重启对应服务或机器
- 它不提供"解锁"动作,释放锁的唯一方式就是结束占用进程
- 结束进程后,它没来得及写回磁盘的数据不会回滚
下次再弹"文件正在使用",别急着重启,右键那个文件,先看谁在占着。
【免费下载链接】PowerToysMicrosoft PowerToys is a collection of utilities that supercharge productivity and customization on Windows项目地址: https://gitcode.com/GitHub_Trending/po/PowerToys
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考