Я скопировал папку, используя robocopy
с помощью командных переключателей /mt /s /e /copyall /np /nfl /ndl
Когда я перехожу к -> Щелкните правой кнопкой мыши -> Свойства, я вижу значительную разницу в size on disk
Исходная папка показывает размер на диске 1,1 ГБ, а папка назначения - намного меньше. Оба каталога находятся в системе, отформатированной в REFS, с использованием зеркального отображения программного обеспечения Windows.
Должно ли это предупреждать меня о проблеме при копировании?
Разница в размере на диске:
«Размер на диске» указывает, сколько дискового пространства используется файлом. Это сильно зависит от файловой системы и особенно от размера кластера.
Файл длиной 8000 байт занимает два кластера с размером кластера 4Ki, но только один кластер с кластерами 8Ki или 64Ki (размеры на диске 8192, 8192 и 65536 байтов соответственно).
При полностью случайных размерах файлов каждый файл расходует половину кластера в файловой системе. Однако меньшее и большее количество кластеров увеличивает накладные расходы файловой системы и может увеличить фрагментацию файлов.
Файл размером 8000 байт тратит неиспользованные 192 байта с кластерами 4Ki или 8Ki, но 57536 байтов с кластерами 64Ki.
Также следует отметить (хотя, вероятно, это не относится к данному конкретному случаю), что Robocopy не сохраняет сжатие NTFS, поэтому, если в исходной папке есть сжатые файлы (обычно они отображаются синим цветом), папка назначения будет значительно больше. Это может быть, а может и не быть таким же для «разреженных» файлов.
SynchronizeIt - это инструмент для копирования файлов, который я часто использую: как и Robocopy, он сохраняет все временные метки (включая временные метки каталогов, что очень редко встречается среди инструментов Windows), и сохраняет атрибут C, то есть сжатие NTFS. Но есть одно предостережение: сначала он копирует файл без сжатия, а затем применяет сжатие NTFS, что увеличивает время копирования. В текущей официальной версии также есть ошибка: если входной файл имеет атрибут «разреженный», копия будет повреждена (фактически копируются только первые кластеры, остальные остаются пустыми). Это может быть проблемой даже для тех, кто сознательно не использует «разреженную» функцию NTFS, поскольку многие менеджеры загрузки или приложения для обмена файлами устанавливают ее по умолчанию, чтобы минимизировать выделенный размер частичных файлов. В 2015 году автор предоставил мне исправленную версию, но по какой-то причине так и не опубликовал ее (доступная версия не обновлялась с 2009 года).
WinHex имеет функцию под названием «Реплицировать каталог», которая может напрямую копировать сжатые файлы как сжатые, но не сохраняет отметки времени. Применение Robocopy / CREATE / DCOPY: T впоследствии в том же каталоге очень быстро исправляет все временные метки без повторного копирования файлов.