【问题标题】:Delete Directory Even On File Use即使在文件使用时也删除目录
【发布时间】:2019-11-06 16:25:43
【问题描述】:

尝试使用 Directory.Delete(path,true) 删除目录时

如果我从该目录打开了一个文件。我无法删除该目录。

我们可以通过其他方式删除目录吗,即使该目录中的任何文件都是打开的。

【问题讨论】:

  • 我不知道有任何操作系统允许它。
  • 您需要先关闭文件,然后才能删除目录。如果它是在同一台机器上运行的文件,那么您可以终止该进程。如果其他计算机可以访问该文件夹,那就更难了。
  • 您希望它在任何操作系统上如何工作?想一想 - 如果您删除文件夹,但文件仍然打开,并且控制文件的应用程序尝试保存文件,或者更糟糕的是,重新加载它......会发生什么?编辑文件的用户也会非常恼火。我不认为这是合乎逻辑的事情。
  • 在我的研究中我还发现,如果不关闭打开的文件,就无法删除目录

标签: java c#


【解决方案1】:

这样的操作不能做。它受操作系统限制。 这不仅与安全原因有关,还与我们访问操作系统中不同对象的方式有关。

在删除目录之前,要么终止相应进程,要么关闭文件。

您可以尝试使用unlocker

不过,我不确定它是否可以编写脚本。

替代方案将是FileAssassin。它确实支持命令行使用,因此您应该能够编写脚本。因此,您可能能够以编程方式关闭特定目录中打开的文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-16
    • 2014-06-03
    • 1970-01-01
    • 2012-08-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-30
    • 2016-02-09
    相关资源
    最近更新 更多