如果我希望我的应用程序(用.NET编写)删除文件,使其无法通过磁盘恢复工具恢复。我有什么选择?
我能想到的是,我在写入模式下打开它,用一些随机数据覆盖所有这些,这会使文件无法恢复。还有其他办法吗?
答案 0 :(得分:3)
您可能会发现CodeProject上的article有用。
答案 1 :(得分:1)
Shell转到SDELETE: http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx
您可以指定通行证数量。
答案 2 :(得分:0)
不会覆盖文件,没有完全按照您的要求进行操作吗?
答案 3 :(得分:0)
对不起,我的英语不好,我来自巴西。
此代码对C#应用程序很有用(如果您使用VB编写应用程序,则可以使用VB Diagnostics类适合此代码,这并不难,逻辑相同且简单)。
她使用MS-DOS删除文件,使用DEL
命令删除文件后,我们将无法恢复。
Microsoft说:
“如果使用del从磁盘中删除文件,则无法检索它。”
public void deleteFilePermanent(FileInfo fileInfo)
{
if (File.Exists(fileInfo.FullName))
{
ProcessStartInfo startCmd = new System.Diagnostics.ProcessStartInfo("cmd.exe");
// This arguments equals a: del -f C:\Exemple\Folder\file.name
startCmd.Arguments = "/C del -f " + fileInfo.FullName;
startCmd.CreateNoWindow = true;
startCmd.UseShellExecute = false;
using (Process cmdProc = new Process())
{
cmdProc.StartInfo = startCmd;
cmdProc.Start();
cmdProc.WaitForExit();
cmdProc.Close();
}
}
}