2013-01-07 36 views
2

有沒有辦法恢復File.Delete()方法編程刪除的文件?c#File.Delete恢復?

程序刪除了一些需要恢復的文件,它們不會出現在回收站中。

+5

你可能很幸運使用文件系統恢復工具。否則,如果你有備份,你可能只會很幸運。 –

回答

5

沒有。 File.Delete()在API中調用硬刪除並繞過回收站。您將需要使用文件恢復程序並希望獲得最佳效果。

要通過回收站進行刪除,請使用SHFileOperation API,因爲它是shell的一部分。

如果/當你有你的文件備份,你可能想看看這個蘇答案,其中討論了改變File.Delete()的東西,使用回收站:

Send a File to the Recycle Bin

+0

文件命名空間中沒有相應的方法,例如,我總是感到沮喪之一。 File.Recycle用於此操作。訴諸非託管代碼或VisualBasic的命名空間總是看起來像是一個糟糕的妥協。 –

+0

他們爲什麼不能重複File.Delete()的枚舉選項... – Lloyd

1

沒有,直接就沒有方法來恢復它。

您可以使用恢復程序或API來獲取文件。

如果文件很重要,我會立即關閉計算機。

看看這個:C# classes to undelete files?

與回答同樣的問題。