回收站如何工作?


29

Windows中的回收站实际上有什么作用?它只是一个美化的文件夹,一个可以很快删除文件的地方,还是做一些特定的事情?具体来说,是“移动”到回收站的文件实际上是在硬盘上移动的,还是只是指向文件移动的指针?我是一个经验丰富的用户,我只想对回收站进行更深入的说明。


3
这实际上是一个有趣的问题。如果回收站很简单,那么添加一个包含数千个文件的文件夹将不会花费很多时间。
丹尼尔·贝克



Answers:


32

删除引用,将元数据文件保留在回收站中以了解原始位置。

早期,在Windows 95和98上,它位于\RECYCLED。在Windows 2000及更高版本上,它已重命名为\RECYCLER。从Windows Vista开始,它现在是名为的特殊文件夹 \$Recycle.Bin

使用过程监视器查看引擎盖下的I / O,穿上过滤器Recycle.Bin并对其进行访问。:)

例如,当我这样做时:

notepad \$RECYCLE.BIN\S-1-5-21-0192837465-987654321-0123456789-1000\$EXAMPL5

注意:长文件夹名称是User SID。最后的文件夹名称是基于元数据的哈希。

我得到一个包含如下元数据信息的文件:

                Ö¸ÌC : \ P a t h \ T o \ S o m e \ E x a m p l e . t x t

文件路径之间留有空格的原因是因为它存储在宽字节字符中,以支持某些语言以及unicode和其他字符的特殊字符。较早的符号是二进制的,包含诸如文件大小和许可权以及指向文件数据的指针之类的信息。本质上,它包含足够的信息来重建原始参考...

可悲的是Windows Internals本书没有涵盖这一点,否则我会得到更多参考。我还没有找到任何由Microsoft或第三方人员对此进行详细介绍的文章。它们可能确实存在,但我发现更容易对主要概念进行反向工程...


很好,我只是很难找到您所发布的内容。您有任何想法如何Example.txt从命令提示符下找到吗?我的用例是使用来搜索整个驱动​​器中放错了位置的文件,dir c:\*.doc* /a/s但由于重命名和真实名称保留在此元数据文件中,因此在回收站中找不到任何文档。
Lieven Keersmaekers

这可能涉及findstr以grep回收站内容。邓诺不过。
塔玛拉·威斯曼

可能更容易更新我对dir /a/s:)的期望。汤姆·汤姆
Lieven Keersmaekers

@TomWijsman,很奇怪,我实际上可以重命名C:\$Recycle.Bin(在win8上尝试过)!这样做安全吗?
Pacerier
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.