Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何永久删除文件,使其无法恢复?_.net_Winapi_File Io_Operating System_Filesystems - Fatal编程技术网

.net 如何永久删除文件,使其无法恢复?

.net 如何永久删除文件,使其无法恢复?,.net,winapi,file-io,operating-system,filesystems,.net,Winapi,File Io,Operating System,Filesystems,如果我希望我的应用程序(用.NET编写)删除一个文件,使其无法通过磁盘恢复工具恢复。我有什么选择 我能想到的一点是,我以写模式打开它,用一些随机数据覆盖所有文件,这会使文件无法恢复。有其他方法吗?您可能会发现CodeProject上的这一点很有用。不会完全按照您的意愿无需任何操作就覆盖该文件?请退出以删除: 您可以指定通过次数。对不起,我英语不好,我来自巴西 这段代码对C#应用程序很有用(如果应用程序是用VB编写的,那么可以使用VB诊断类来适应这段代码,这并不难,逻辑是相同的,而且很简单)。

如果我希望我的应用程序(用.NET编写)删除一个文件,使其无法通过磁盘恢复工具恢复。我有什么选择


我能想到的一点是,我以写模式打开它,用一些随机数据覆盖所有文件,这会使文件无法恢复。有其他方法吗?

您可能会发现CodeProject上的这一点很有用。

不会完全按照您的意愿无需任何操作就覆盖该文件?

请退出以删除:


您可以指定通过次数。

对不起,我英语不好,我来自巴西

这段代码对C#应用程序很有用(如果应用程序是用VB编写的,那么可以使用VB诊断类来适应这段代码,这并不难,逻辑是相同的,而且很简单)。 她使用MS-DOS删除文件,当使用
DEL
命令删除文件时,我们无法恢复该文件

微软表示:

如果使用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();
            }
        }
    }