Почему дата создания файла обновляется при копировании на флешку?
При работе с файлами на компьютере, многих пользователей интересует, что происходит с их временными метками при копировании. В частности, часто возникает вопрос: почему штамп даты обновляется при копировании файла со старой датой на USB-накопитель, а отметка даты сохраняется при копировании файла на тот же диск?
Сравнение копирования файлов
Давайте рассмотрим каталог на диске C:
C:\zet
В этом каталоге находятся два файла:
- IMG_1970…jpg – с датой создания 1970 года. Интересный факт: хотя файл был создан в 2016 году, его отметка даты остается старой, что может вызвать вопросы.
- VID_20220615_071520306.mp4 – видеофайл, созданный в 2022 году.
Вот как выглядит этот каталог в командной строке:
C:\>dir c:\zet
Volume in drive C has no label.
Volume Serial Number is 4645-5DCE
Directory of c:\zet
2024-12-14 23:51 <DIR> .
2024-12-14 23:51 <DIR> ..
1970-01-02 06:16 2,222,947 IMG_19700102_061650.jpg
2022-06-15 06:15 3,769,884 VID_20220615_071520306.mp4
2 File(s) 5,992,831 bytes
2 Dir(s) 818,724,679,680 bytes free
Теперь обратим внимание на созданный каталог на USB-накопителе:
H:\zet
На данный момент этот каталог пуст, и мы готовы продемонстрировать поведение файлов при копировании.
C:\>dir h:\zet
Volume in drive H is Expansion
Volume Serial Number is 0085-95C7
Directory of h:\zet
2024-12-14 23:50 <DIR> .
2024-12-14 23:50 <DIR> ..
0 File(s) 0 bytes
2 Dir(s) 3,198,971,805,696 bytes free
Копирование видеофайла
При копировании видеофайла на флешку, отметка даты остается прежней – 2022 год:
C:\>copy c:\zet\VID_20220615_071520306.mp4 h:\zet
1 file(s) copied.
C:\>dir h:\zet
Volume in drive H is Expansion
Volume Serial Number is 0085-95C7
Directory of h:\zet
2024-12-14 23:50 <DIR> .
2024-12-14 23:50 <DIR> ..
2022-06-15 06:15 3,769,884 VID_20220615_071520306.mp4
1 File(s) 3,769,884 bytes
2 Dir(s) 3,198,967,873,536 bytes free
Это подтверждает, что временные метки для современных файлов сохраняются при переносе на USB-накопитель.
Копирование файла с меткой 1970 года
Теперь давайте посмотрим, что произойдет, когда мы попытаемся скопировать файл с отметкой даты 1970 года на флешку:
C:\>copy c:\zet\IMG_19700102_061650.jpg h:\zet
1 file(s) copied.
C:\>dir h:\zet
Volume in drive H is Expansion
Volume Serial Number is 0085-95C7
Directory of h:\zet
2024-12-14 23:50 <DIR> .
2024-12-14 23:50 <DIR> ..
2022-06-15 06:15 3,769,884 VID_20220615_071520306.mp4
2024-12-14 23:51 2,222,947 IMG_19700102_061650.jpg
2 File(s) 5,992,831 bytes
2 Dir(s) 3,198,965,514,240 bytes free
Как вы можете заметить, файл с 1970 годом получает новую дату копирования – 2024 год. Это происходит потому, что файловая система FAT32, используемая на большинстве USB-накопителей, имеет ограниченные возможности в сфере временных меток.
Почему это происходит?
Файловая система FAT32 хранит каждое поле даты и времени отдельно, выделяя всего 7 бит для года. В этой системе 0 означает 1980 год, а 127 – 2107 год. Поскольку 1970 год не укладывается в этот диапазон, при копировании файла его временная метка обновляется.
Сравнение с NTFS
Интересно, что при копировании файлов на ту же файловую систему (например, NTFS) отметка даты сохраняется. Например, если мы скопируем файл IMG_1970…jpg в другую папку на диске C:
C:\>md zet2
C:\>copy c:\zet\IMG_19700102_061650.jpg c:\zet2
1 file(s) copied.
C:\>dir c:\zet2
Volume in drive C has no label.
Volume Serial Number is 4645-5DCE
Directory of c:\zet2
2024-12-14 23:53 <DIR> .
2024-12-14 23:53 <DIR> ..
1970-01-02 06:16 2,222,947 IMG_19700102_061650.jpg
1 File(s) 2,222,947 bytes
2 Dir(s) 818,721,378,304 bytes free
Здесь отметка даты осталась без изменений, и файл сохранил свою первоначальную дату. Это подчеркивает различия в управлении временными метками между FAT32 и NTFS.
Заключение
Понимание особенностей работы с временными метками файлов при копировании может помочь избежать путаницы и сохранить важную информацию. Если вам важно сохранить дату создания файла, всегда учитывайте, на какую файловую систему вы копируете – FAT32 может не подойти для этой задачи.