Домашняя » как » Как Windows решает, какой из двух файлов с одинаковыми временными метками новее?

    Как Windows решает, какой из двух файлов с одинаковыми временными метками новее?

    Что это значит, когда у вас есть два одинаковых файла с одинаковыми временными метками, но Windows говорит, что один файл новее, чем другой? Как это может быть? Сегодняшний пост SuperUser Q & A помогает запутанному читателю разгадать тайну отметки времени.

    Сегодняшняя сессия вопросов и ответов пришла к нам благодаря SuperUser - подразделению Stack Exchange, группе веб-сайтов вопросов и ответов, управляемой сообществом..

    Вопрос

    Считыватель SuperUser WBT хочет знать, как Windows решает, какой из двух файлов с одинаковыми отметками времени новее:

    Когда Windows отображает диалоговое окно, подобное этому, с соответствующими метками времени, как оно определяет, какой из двух файлов новее?

    Сначала я думал, что Windows сравнивает атрибут даты создания и использует результат этого сравнения, чтобы пометить одно или другое как более новое. Если файл был скопирован в определенное место, он может иметь дату создания, когда была сделана копия, а не дату создания исходного файла. Тем не менее, после воспроизведения его с другим файлом, результат которого является более новым, кажется противоположным:

    Результат одинаков при копировании или перемещении файла:

    И для фона, файл в test2 является ранее сделанной копией файла в test1.

    Как Windows решает, какой из двух файлов с одинаковыми отметками времени новее?

    Ответ

    SuperUser вкладчик благодарность имеет ответ для нас:

    Метки времени в файловой системе NTFS имеют разрешение 100 наносекунд (0,0000001 с). Даже если в диалоговом окне свойств отображается одно и то же округленное значение, файлы могут быть созданы с точностью до десятых долей секунды друг от друга..

    Примечание. Большинство файловых систем измеряют время в мкс или нс. FAT32 немного реликтовый и округляет временные метки до двух секунд.

    Попробуйте один из следующих способов для сравнения отметок полного времени:

    • wmic datafile где name = ”c: \\ foo \\ bar.txt” получить последний измененный

    Через PowerShell:

    • (Get-ChildItem c: \ foo \ bar.txt) .LastWriteTime.ToString («o»)

    Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полным обсуждением здесь.

    Изображение предоставлено: WBT (SuperUser)