如何删除Windows系统“锁定”的文件

时间:2019-06-05 12:31:39

标签: .net windows

当我想在一夜之间(通过.Net程序)在服务器上放置新版本的exe时遇到一个烦人的问题,当某些用户离开办公室时没有关闭exe(所有用户在服务器上使用此exe) )。

简单的复制方法:

  • 将exe放在共享网络驱动器上(Windows Server)
  • 打开exe op pc1(WIN7)
  • 在pc2(WIN7)上删除此exe =>文件没有被删除,但不再是exe文件的所有者,甚至没有管理员。而且没有办法将所有者放回文件,因为没有人有权再这样做(甚至没有管理员)。

  • 退出exe op pc1 =>该exe在打开的文件中不可见,无法删除该文件(Explorer或Elevated命令提示符)

我已经尝试了几种“解锁”工具,但是它们都无法解锁文件,因为他们看不到文件已被锁定。但我认为该文件已被Windows系统锁定,直到曾经处于exe状态的用户通宵退出exe;然后Windows会进行真正的删除。

问题是“删除” exe某种程度上处于“损坏”状态,因此您无法再打开此exe。

是否有办法(.Net代码)强制将该文件交还所有者(例如Admin),以便该所有者可以永久删除文件?

备注:由于很多用户使用此exe,因此如果用户仍在程序中或在每台PC上运行ProcessExplorer,则不可能在每台计算机上查看。

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以通过这种方法关闭网络共享文件,而无需停止服务器:

1-打开cmd(以管理员身份):按Win + R键,输入cmd.exe并按Enter
2 –类型

cd "folder of file"

并替换为文件的文件夹路径
3 –键入

openfiles /Disconnect /OP "filename.exe" /ID *

其中filename是文件名
4 –用新文件替换