小技能:文件被占用无法删除怎么办?
共 1467字,需浏览 3分钟
·
2021-01-05 05:16
2021年了,祝大家新年快乐,下面是送给大家的礼物。
前段时间发了篇 剪切板突然失效,怎么办?,很多朋友就留言问
删除文件经常提示被某某进程占用,无法删除,那应该怎么办呢?
根据提示,很显然是因为有其他进程(Edge浏览器)正在使用目标文件,所以无法删除。
非常简单的想法,只要把这些进程关闭,文件自然能够删除。
可是,有些时候提示确实这样的。
此时,我们就不知道是那个进程在使用文件,就有点束手无策了。
但是,真的是束手无策吗?当然不是了!
下面,让我慢慢给你道来。
Unlocker
经过一番搜索,找到解除文件占用删除文件的工具Unlocker。
1、集成于鼠标右键,使用方便
用户安装Unlocker后,软件将整合于鼠标右键的操作当中。当用户发现某个文件或目录无法删除时,可直接右键鼠标“Unlocker”,删除。2、安全解锁
Unlocker不同于其他解锁程序,通过强制关闭程序来解锁,而是通过解除文件与程序关联性的方式,保证了数据的安全,避免使用过程中可能的数据丢失。
下载了最新Unlocker 1.9.2,发现最新修改日期是2013年,安装后看到还会有驱动UnlockerDriver5.sys,没签名,肯定不支持64位操作系统。
试用了一下,某些情况下不好使,需要重启电脑才能删除。
不过简单情况下可以试试。
procexp
程序员应该非常熟悉process explorer,这是微软提供的一个进程管理工具,非常强大。
可以理解是一个增强超级版的任务管理器。
这个工具也可以为我们解决文件占用无法删除的问题,特别是系统没有提示是哪个进程占用文件的时候。
打开软件,选择望远镜搜索文件,输入文件后,search即可。
咋找到的列表中,我们可以看到那些进程打开了这个文件,一目了然。
这个时候我们有两种解决方法。
我们看到列表中类型有DLL、File,如果列表中只有File,这个表示打开文件的句柄,我们只需要关闭句柄,就可以删除文件了(不用结束进程)。
如果列表中不仅只有File,还有DLL之类的,那么关闭句柄是不能完全解决占用的,这个时候就需要关闭进程,才能删除文件。
也非常简单,挨个进程关闭即可(记住保存数据),然后手工删除文件就行。
一键小工具
最后该升华一下了!
作为程序员,不倒腾一下工具,怎么对得起自己的身份。
所以我把第二节中手工的工作集成在了工具中,原理就是搜索那些进程占用了文件,先关闭所有占用进程的目标文件句柄,尝试删除,如果失败,尝试主动关闭进程,再次删除。
如此能够一键成功解决占用删除文件。
如图:使用方法很简单,打开cmd窗口,输入命令:
FileLock.exe 文件路径
(完)
如果你觉得有用,不妨点个赞、在看,给我鼓励。
预告:下一篇会是《程序员版:文件被占用无法删除》
Unlocker:https://filehippo.com/download_unlocker/&Filename=Unlocker1-9-2.exe
process explorer:https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer
点击阅读原文获取FileLock