Я либо сбит с толку относительно того, как Windows вычисляет значение Size on disk
в свойствах папки, либо он неверен.
Размер кластера на моем диске составляет 4096 байт.
Я создал папку под названием size-on-disk-test
в которой у меня есть 64 прямые подпапки и 362 496 файлов. Каждый файл представляет собой текстовый файл размером 3 байта, просто содержащий текст: aaa
.
Поскольку теоретически каждый файл должен занимать один кластер размером 4096 байт, я должен ожидать, что размер файла на диске будет читать:
number-of-files * cluster-size
→ 362,496 * 4096 = 1,484,783,616
783 616 (1,4 ГБ).
Вместо этого это читает: 0
:
Size
, как и ожидалось, составляет ровно 3 байта, умноженных на количество файлов.
Затем я отметил свободное место на диске на корневом уровне и продублировал папку (это не диск с какими-либо действиями или установленными программами, поэтому на него не должны влиять другие операции кэширования и т.д. На диске во время теста. ).
В соответствии с проверкой на корневом уровне (т. Е. Нажатием кнопки «Свойства» на диске в This PC
) после дублирования папки мое свободное место сократилось на 589 352 960 байт.
Так, что происходит? Почему Windows сообщает 0 байтов для размера на диске? Почему мои расчеты дико отличаются от реальности?
Кроме того, имеет ли значение длина имени файла? Разве это не должно учитываться при точном расчете? Возможно, длина имени файла помещает файл размером 4095 байт в два кластера на диске кластера 4096? И наверняка папки занимают какое-то место?
Это много вопросов для одного "вопроса", но я надеюсь, что кто-то может просто объяснить мне, как занимает место, включая имена файлов, папок и кластеров.