Pahanivo
11-02-2018, 22:22
Приветствую. Поймал интересный баг (фичу?).
В винде есть три временных параметра файла:
atime - время доступа к файлу (не важный параметр).
ctime - время создания дескриптора файла, т.е. время создания файла.
mtime - время модификации содержимого файла, и только содержимого.
Для простого примера:
1) Создаем папку c:\1
2) Создаем в ней любой файл. Все три времени у него одинаковы и показывают время создания файла. Что логично.
3) Создаем папку c:\2 и копируем в нее вышеуказанный файл из c:\1.
Смотрим параметры скопированного файла и видим что время создания (ctime) изменилось на время когда был скопирован файл. Так и должно быть.
(Именно копируем, при перемещении параметры времени не изменяются.)
4) Удаляем исходный файл в папке c:\1
5) И наконец, самое интересное: копируем файл из папки c:\2 в c:\1. Смотрим в параметры файла и видим что время создания изменилось на время, в которое
был создан файл в пункте 2) !!!! Т.е. оно не увеличилось (что было бы логично), а уменьшилось (откатилось)?!
Если между пунктами 4) и 5) ребутнуть комп, то глюк не воспроизводится.
Пока писал нашел более простой способ воспроизвести этот прикол: создать в любой папке файл, удалить его и затем снова создать файл в этой же
папки с таким же именем. Смотрим на время создания и видим время создания не второго файла, а первого!
Что это за глюк? Кеш? Или еще что-то?
Ничего не нагуглилось, может ключевые слова не те.
В винде есть три временных параметра файла:
atime - время доступа к файлу (не важный параметр).
ctime - время создания дескриптора файла, т.е. время создания файла.
mtime - время модификации содержимого файла, и только содержимого.
Для простого примера:
1) Создаем папку c:\1
2) Создаем в ней любой файл. Все три времени у него одинаковы и показывают время создания файла. Что логично.
3) Создаем папку c:\2 и копируем в нее вышеуказанный файл из c:\1.
Смотрим параметры скопированного файла и видим что время создания (ctime) изменилось на время когда был скопирован файл. Так и должно быть.
(Именно копируем, при перемещении параметры времени не изменяются.)
4) Удаляем исходный файл в папке c:\1
5) И наконец, самое интересное: копируем файл из папки c:\2 в c:\1. Смотрим в параметры файла и видим что время создания изменилось на время, в которое
был создан файл в пункте 2) !!!! Т.е. оно не увеличилось (что было бы логично), а уменьшилось (откатилось)?!
Если между пунктами 4) и 5) ребутнуть комп, то глюк не воспроизводится.
Пока писал нашел более простой способ воспроизвести этот прикол: создать в любой папке файл, удалить его и затем снова создать файл в этой же
папки с таким же именем. Смотрим на время создания и видим время создания не второго файла, а первого!
Что это за глюк? Кеш? Или еще что-то?
Ничего не нагуглилось, может ключевые слова не те.