2024年5月14日发(作者:)

探究 Windows7 回收站机制

高中的时候研究了XP系统的回收站机制,起初是为了探究为什么回收站里的文件可

以重名(众所周知,Windows不允许同一个目录下出现同名情况)。现在换了新的Windows

7操作系统,偶然间发现新系统的回收站机制变得有些不一样了,心痒之下决定再次探究

一番,可惜的是高中写的那篇文章已经找不到了,遗憾...

XP/2000的回收站机制我就不说了,直接进入新系统。

通常在将一个文件删除的时候,我们都知道这个文件被放进了回收站,我们打开回收

站也可以看到我们删除的那些文件。那么,回收站到底在哪?

答案:每个分区下都有一个隐藏的回收站文件夹,在Windows 7的中,这个文件夹位

于盘符$

当我们删除一个文件时,该文件会被移进回收站目录并且自动重命名。被删除的原文

件被命名为"$R+一连串随机字符+原本的后缀名",同时还会创建一个以"$I"开头,后面完

全一样的文件,所有的$I文件大小都为544 bytes。当清空回收站时,这两个文件同时被

删除。

$I文件保存了以下一些内容:

1、被删除文件的原文件名

2、被删除文件的完整路径

3、被删除文件的大小

4、删除的时间

用16进制查看工具打开$I文件(这个过程太复杂,我就不说了),可以发现:

1、第一个8 bytes是$I文件的头部

2、第二个8 bytes保存了被删除文件的尺寸

3、第三个8 bytes保存了删除文件的时间

4、后面的520 bytes内容是文件被删除之前的完整路径以及原文件名

这样一来,我们就可以解释为什么回收站里的文件可以重名了,因为在回收站目录里

它们本身是被重命名的,而我们看到的文件名都是从$I文件中读出来的。

还有一点就是涉及数据恢复的东西了,简单说就是直接"shift+del"删除的文件比移动

到回收站再清空的文件更好恢复,识别起来也更简单,相信看完这篇文章的人能理解这句

话吧。