无法完成操作,因为另一个进程正在使用该文件

Action cannot be completed because another process is using the file

不确定上面的消息是否完全正确,但我 运行 经常这样做。我尝试使用 Windows 删除目录或文件,它告诉我不能,因为该文件正在被另一个程序使用。它没有说明正在使用它的进程。

有时很清楚是什么在使用它,但有时却不是。我打开任务管理器并浏览了所有流程,但没有发现任何问题。

有没有办法确定文件打开的内容以及解决方案(除了重新启动)?

我想大多数时候它可能与 Eclipse 相关,但肯定不是所有时候。

我用Process Explorer

Ever wondered which program has a particular file or directory open? Now you can find out. Process Explorer shows you information about which handles and DLLs processes have opened or loaded.


您可以添加如下所示的列(Window 标题),它应该可以帮助您找到您要查找的文件,以及它的用途:


如果您最终选择使用此程序而不是任务管理器,则有一个选项可以打开此程序而不是任务管理器:


如果您决定 "Replace Task Manager" 并且曾经陷入无法 'undo' 您所做的事情(意思是,"The original Task Manager will no longer open") ... 您可以修改此处列出的注册表并删除 Debugger 条目。 (在这个例子中,我有这个路径到网络驱动器)。

我在 Excel 中遇到了这个问题,有些文件会处于活动状态,但我看不到,无论是在我的屏幕上还是在任务管理器中。我解决的方法是使用命令提示符来终止任务:

  1. 打开命令提示符(在屏幕左下角的 windows 搜索中键入 cmd)
  2. 键入“任务列表”
  3. 找到您要终止的任务(对我来说是 EXCEL.EXE)
  4. 通过使用图像名称(键入“taskkill /im EXCEL.EXE”或您要结束的任何程序来结束任务。这将终止具有该图像名称的所有任务)或使用 ID (即“taskill /pid 1234,或程序具有的任何 ID。这将终止该特定任务)