【问题标题】:c# File.Delete recovery?c# File.Delete 恢复?
【发布时间】:2012-12-21 10:43:06
【问题描述】:

有没有办法恢复被File.Delete() 方法以编程方式删除的文件?

已删除的文件不会出现在回收站中。

【问题讨论】:

  • 使用文件系统恢复工具可能会很幸运。否则,如果您有备份,您可能会很幸运。

标签: c# file recovery


【解决方案1】:

不。 File.Delete() 在 API 中调用硬删除并绕过回收站。您将需要使用文件恢复程序并希望获得最好的结果。

要通过回收站删除,您可以使用SHFileOperation API,因为它是 shell 的一部分。

如果/一旦您恢复了文件,您可能想看看这个 SO 答案,其中讨论了将 File.Delete() 更改为使用回收站的东西:

Send a File to the Recycle Bin

【讨论】:

  • 文件命名空间中没有对应的方法一直是我的挫败感之一,例如。 File.Recycle 用于此操作。诉诸非托管代码或 VisualBasic 的命名空间似乎总是一个糟糕的折衷方案。
【解决方案2】:

不行,直接没办法恢复。

您可以使用恢复程序或 API 来获取您的文件。

如果文件很重要,我会立即关闭计算机。

看看这个:C# classes to undelete files?

答案有同样的问题。

【讨论】:

    猜你喜欢
    • 2016-04-06
    • 2021-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    相关资源
    最近更新 更多