我有这个有趣的测试案例,我生成了成千上万的非常小的文件。正如您可能想象的那样,磁盘上的大小呈线性增长,但我并不认为磁盘上的大小会小于整个文件夹的大小。 (NTFS)文件夹大小如何大于磁盘上的大小?
我理解磁盘上的大小如何可能大于大小,但我很困惑它如何可能更小。
我不完全确定这是如何可能的。任何线索?
我有这个有趣的测试案例,我生成了成千上万的非常小的文件。正如您可能想象的那样,磁盘上的大小呈线性增长,但我并不认为磁盘上的大小会小于整个文件夹的大小。 (NTFS)文件夹大小如何大于磁盘上的大小?
我理解磁盘上的大小如何可能大于大小,但我很困惑它如何可能更小。
我不完全确定这是如何可能的。任何线索?
它可以是压缩,或见sparse files。
但在你的情况下,我猜想这是第三种选择 - 如果文件很小,通常在400字节以下,它的数据可以适合MFT文件记录,因此它不占用任何群集。你有~30,000个文件,所以如果它们大约是300字节,那么它可以是9MB,并且它仍然可以作为0字节记录在磁盘上:
哦,是啊!我完全忘了在新的NTFS标准中,如果文件足够小以适应文件系统的寻址模式,数据实际上就放在那里。 Derp谢谢! – Parad0x13
其实它从一开始就在那里:)它被称为驻留属性 - 如果属性数据存储在MFT中,非驻留属性 - 如果数据以簇的形式存储在磁盘上。 –
是Windows/NTFS为某个就地压缩或文件补偿多余的文件? 对于任何对我如何做到这一点感兴趣的人,这里是批处理文件: https://pastebin.com/FgWVJsiJ – Parad0x13