0

我想编写一个程序来恢复 Windows 7 上最近删除的文件。

Windows API中是否有恢复文件的功能?如果没有,我该如何开始呢?

编辑:
或者一个开源项目?

编辑:
我不是指回收站!

4

3 回答 3

3

好吧,文件恢复工具都是从扫描磁盘以查找文件头或文件树的旧痕迹开始的。

要从头开始执行此操作,您需要了解您的目标驱动器及其文件系统。没有 API 可以这么说,尽管有一些项目可以直接从 linux 访问 NTFS 文件系统,尽管听起来你是在 Windows 中开发的。它们列在我帖子中 Wiki 链接的末尾。我有一些链接可以直接访问驱动器。从那里您无法通过任何可以从 NTFS 日志、日志或 FS 的其他组件派生的方式来检测旧文件。

假设您要使用 Windows 7 并将在操作系统中运行您的程序,请查看以下链接:

  1. 直接驱动访问
  2. 创建文件
  3. 维基百科关于 NTFS 的文章(Windows 7 使用的文件系统)检查外部链接

你想要写的东西不是一件容易的事,尽管这就是它有趣的地方。

于 2010-05-14T20:44:25.737 回答
2

您是指文件已删除(移至垃圾箱)还是从硬盘中删除(标记为替换)?如果您正在寻找第二种选择,我很确定 Windows 不会为此提供任何解决方案。

于 2010-05-14T20:22:38.647 回答
2

您必须手动分析磁盘上的数据,即通过读取原始磁盘内容并查找标记为已删除的文件。一个好的开始是阅读您想要支持的文件系统的内部结构,因为您将需要它们。没有用于此的 API。

于 2010-05-14T20:22:39.733 回答