如何从 Windows 系统中完全删除文件

how delete a file completely from a Windows System

我已尝试搜索,但没有找到适合我查询的答案。

我想知道如何从 Windows 系统中完全删除一个文件,这样它就无法以任何方式恢复。

我知道互联网上有一些软件可以从系统中完全删除文件。想给自己做个小演示,想看看是不是真的deleted/erased来自系统

例如:如果我使用 SHIFT + DELETE 删除文件,我知道普通用户无法恢复该文件。但是有恢复软件可以用来恢复那个文件。所以,我只是想以某种方式删除文件,以便恢复软件无法恢复特定文件。

谁能告诉我,这是怎么做到的?我真的很感激。如果有人可以分享一小段代码就可以做到这一点。我可以用那种方式更好地理解它。

谢谢

此致

这是一个难题,"a small piece of code" 无法回答。

假设您有一个非常想要删除的超级 secret/embarassing/illegal/whatever 文件。首先,它应该首先被加密。随便说说。

无论如何,部分甚至整个文件都可以出现在很多地方。内存、页面文件、休眠文件、硬盘驱动器上的空白空间(例如,通过碎片整理重新定位文件内容后)。你们有在线同步服务吗?备份? SSD 驱动器会在每次写入时将您的文件分布在整个物理块上吗?亲爱的。

因此,至少在您的本地系统上,要真正真正摆脱该文件,作为最低限度的措施,您必须

  • 通过您选择的 API 删除它(除了通过正常 UI 只是将它移动到 "trashcan")
  • 禁用并删除系统页面文件
  • 删除休眠文件
  • 用随机字节覆盖硬盘上所有假定的空白空间
  • 重启系统
  • 重新实例化页面文件

但是:SSD 和一些硬盘驱动器有备用容量块,当块产生错误时它们用作回退。如果您的文件碰巧位于这样的故障块中,它可能已被驱动器固件悄悄地重新定位,并且驱动器将永远不会通过 Windows API 可访问的方式再次写入该块。因此,如果你想真正确定你必须物理销毁所有曾写入该文件的驱动器。