![在 cmd.exe 中删除正在使用的文件的命令是什么?](https://linux22.com/image/1213697/%E5%9C%A8%20cmd.exe%20%E4%B8%AD%E5%88%A0%E9%99%A4%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%E7%9A%84%E6%96%87%E4%BB%B6%E7%9A%84%E5%91%BD%E4%BB%A4%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
我正在尝试使用命令提示符删除正在使用的文件。到目前为止我还没有成功。我使用过 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 实用程序。