小技能:文件被占用无法删除怎么办?

汉客儿

共 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 文件路径

(完)

如果你觉得有用,不妨点个赞、在看,给我鼓励。

预告:下一篇会是《程序员版:文件被占用无法删除


  1. Unlocker:https://filehippo.com/download_unlocker/&Filename=Unlocker1-9-2.exe

  2. process explorer:https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer


点击阅读原文获取FileLock

浏览 19
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报