在 cmd.exe 中删除正在使用的文件的命令是什么?

在 cmd.exe 中删除正在使用的文件的命令是什么?

我正在尝试使用命令提示符删除正在使用的文件。到目前为止我还没有成功。我使用过 del 命令,但徒劳无功。

请指教。

编辑:我忘了提到两件事。

1) 此特定文件无法从 GUI 查看(它不是隐藏的),它来自已下载的程序文件文件夹。2) 此问题出现在客户端计算机上,该客户端与我使用 WebEx。因此我无法安装 Unlocker。

答案1

一般来说,没有这样的命令,您必须关闭使用该文件的程序,或者至少强制它关闭与该文件的链接。

您可以找到有关此问题的更多详细信息:如何删除“锁定”的文件?

但要小心使用解锁者,关闭句柄不是一个安全的操作,它可能导致数据丢失,或程序中的无效状态(更多详细信息这里)。您必须确保您知道使用该文件的程序,并且您可以安全地关闭它,或者强制它释放该文件。

答案2

如果该文件是模块/库,您可以使用它TASKLIST /M来找出哪些进程正在使用它:

TASKLIST /M someLibrary.dll

您将看到如下输出:

Image Name                     PID Modules
========================= ======== ============================================
someApp.exe                   1234 someLibrary.dll

然后您可以使用TASKKILL它来终止有问题的进程:

TASKKILL /F /PID 1234

如果进程成功终止,您将看到以下输出:

SUCCESS: The process with PID 1234 has been terminated.

如果文件不是库,则没有简单的内置命令来找出谁在使用它。在这种情况下,我建议进程探索器来自 Sysinternals。从那里,您可以搜索打开的句柄并找出哪些程序正在使用哪些文件。

答案3

您无法从 cmd 中删除正在使用的文件。尝试重新启动并在启动后立即删除,此时某些服务未运行。否则,查找正在使用该文件的进程并终止它,然后终止该文件,或者找到在线软件来删除正在使用的文件。

答案4

没有内置文件解锁器,但是安装后可以从命令行调用另一个建议中提到的解锁器 GUI 实用程序。

相关内容