有没有办法删除 Windows 上锁定的文件?

有没有办法删除 Windows 上锁定的文件?

我正在尝试删除在 eclipse (Java) 构建过程中生成的文件。我仔细阅读了这里,但到目前为止对我都不起作用(见下文)。

该文件名为 dataentry.war。我使用了处理识别拥有它的进程:

> handle64 dataentry.war
Nthandle v4.1 - Handle viewer
Copyright (C) 1997-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
ccSvcHst.exe       pid: 2720   type: File          2350: C:\Users\mmalaterre\workspace\dataentry\target\dataentry.war

ccSvcHst.exe       pid: 2720   type: File          2350: C:\Users\mmalaterre\workspace\dataentry\target\dataentry.war

ccSvcHst.exe       pid: 2720   type: File          344C: C:\Users\mmalaterre\workspace\dataentry\target\dataentry.war

ccSvcHst.exe       pid: 2720   type: File          344C: C:\Users\mmalaterre\workspace\dataentry\target\dataentry.war

那么现在我该如何删除这个文件?

使用explorer(以管理员权限启动),我收到这个愚蠢的消息,说我没有管理员权限:

在此处输入图片描述

我尝试使用任务管理器:

在此处输入图片描述

但这导致:

在此处输入图片描述

cmd具有管理员权限的 shell:

>del /F dataentry.war
c:\Users\mmalaterre\workspace\dataentry\target\dataentry.war
Access is denied.

由于某种原因,我无法resmon找到句柄:

在此处输入图片描述

我也尝试重命名父目录,以便它不会妨碍我(eclipse),但我再次无法做到这一点:

在此处输入图片描述

如果我尝试从 cmd(具有管理员权限)删除该进程,我将得到以下结果:

>taskkill /PID 2720 /t /f
ERROR: The process with PID 3856 (child process of PID 2720) could not be terminated.
Reason: Access is denied.
ERROR: The process with PID 2720 (child process of PID 700) could not be terminated.
Reason: Access is denied.

有没有任何在 Windows 上删除锁定的文件的方法?

答案1

您的病毒扫描程序正在锁定文件,并且病毒扫描程序受到很好的保护,不会终止进程,从而防止病毒尝试执行同样的事情。

暂时停止实时病毒扫描程序以解除锁定。如果此方法无效,请重新启动以解除锁定。
然后删除该文件。

PS 通常,最好将编译/构建/调试目录从实时病毒扫描程序中排除。编译器/链接器/调试器的操作在病毒扫描程序看来可能很可疑,病毒扫描程序的过度检查可能会减慢甚至干扰编译/构建/调试会话。

相关内容