C# – 永久删除文件

自从我开始使用iPhone之后,我已经离开了C#游戏一段时间,但是如何完全删除文件(因此它没有存储在内存中)并且无法恢复。 如果你不能永远删除它,你可以用随机数据加扰它,所以它无法打开但仍然存在?

当然可以覆盖文件,以便无法恢复以前的内容。 但这必须由驱动器本身完成,以确保覆盖正确的块… C#与文件系统交互,而不是物理块,因此不提供任何安全性。

要求驱动器安全擦除内容的实际方法因接口而异(ATAPI与SATA,相比USB大容量存储与SCSI与火线相比),而C#不提供这种级别的简单命令。

sdelete通过c#中的Process运行此命令。

 Process p = new Process(); p.StartInfo = new ProcessStartInfo( "cmd", "/c sdelete -p 1 -s -z -q -a 'path/to/director' ) { RedirectStandardOutput = true, UseShellExecute = false, CreateNoWindow = true }; p.Start(); string output = p.StandardOutput.ReadToEnd(); p.WaitForExit(); 

sdelete可以在这里下载