Почему некоторые папки будут скопированы с неправильной отметкой времени?

745
RockPaperLizard

При копировании папок с карты microSD в формате FAT16 на том NTFS, почему некоторые (но не все) из папок имеют измененную временную метку текущей даты / времени в месте назначения?

Некоторые из папок назначения имеют метки времени, совпадающие с метками времени исходных папок, но некоторые копируются с изменением меток времени, чтобы отразить текущую дату / время.

Для копирования папок использовался Windows File Explorer из Windows 7 SP1. Chkdskбыл запущен на источнике и месте назначения, без ошибок.

2
@PIMP_JUICE_IT Использование проводника Windows. Сначала я так и думал, но некоторые папки сохраняют свои временные метки, а некоторые нет. Кроме того, копирование из NTFS в NTFS приводит к тому, что измененные временные метки сохраняются, а не устанавливаются на время выполнения операции копирования. RockPaperLizard 7 лет назад 0

1 ответ на вопрос

2
Pimp Juice IT

Общее объяснение Microsoft

Описание NTFS даты и времени для файлов и папок

РЕЗЮМЕ

В этой статье описывается, как метки даты и времени файлов и папок (созданные или измененные) отображаются в зависимости от используемой файловой системы (файловая система FAT или NTFS) и раздела ( независимо от того, было ли действие выполнено в том же разделе или между перегородки ).

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

Свойства файла с учетом даты и времени

  • Если вы копируете файл из C: \ fat16 в C: \ fat16 \ sub, он сохраняет те же измененные дату и время, но изменяет дату и время создания на текущие дату и время.
  • Если вы перемещаете файл из C: \ fat16 в C: \ fat16sub, он сохраняет те же измененные дату и время и сохраняет те же созданные дату и время.
  • Если вы копируете файл из C: \ fat16 в D: \ NTFS, он сохраняет те же измененные дату и время, но изменяет дату и время создания на текущие дату и время.
  • Если вы перемещаете файл из C: \ fat16 в D: \ NTFS, он сохраняет те же измененные дату и время и сохраняет те же созданные дату и время.
  • Если вы копируете файл из D: \ NTFS в D: \ NTFS \ SUB, он сохраняет те же измененные дату и время, но изменяет созданную дату и время на текущие дату и время.
  • Если вы перемещаете файл из D: \ NTFS в D: \ NTFS \ SUB, он сохраняет те же измененные дату и время и сохраняет те же созданные дату и время.
  • Во всех примерах дата и время изменения файла не изменяются, если не было изменено свойство файла. Дата и время создания файла изменяются в зависимости от того, был ли файл скопирован или перемещен.

Свойства папки относительно отметок даты и времени

  • Если вы создаете две новые папки в разделе NTFS с именами D: \ NTFS1 и D: \ NTFS2, дата и время создания и изменения совпадают.
  • Если вы переместите папку D: \ NTFS2 в папку D: \ NTFS1, создав D: \ NTFS1 \ NTFS2, то:

    1. D: \ NTFS1 - созданная папка остается той же, и измененный штамп изменяется.
    2. D: \ NTFS1 \ NTFS2 - Изменения как созданной папки, так и измененной остаются прежними.

    Это происходит потому, что, даже если вы переместили папку, новая папка рассматривается как созданная в папке D: \ NTFS1 с помощью основной таблицы файлов (MFT).

  • Если вы копируете папку D: \ NTFS2 в папку D: \ NTFS1, создается папка D: \ NTFS1 \ NTFS2, а папка D: \ NTFS2 все еще существует (после ее копирования):

    1. D: \ NTFS1 - созданная папка совпадает, а метка времени и даты измененной папки изменяется.

    2. D: \ NTFS2 - никаких изменений не происходит, поскольку это оригинальная папка.

    3. D: \ NTFS1 \ NTFS2 - и созданная папка, и измененная папка изменяются на одну и ту же отметку, которая соответствует времени перемещения.

Это происходит потому, что даже если вы скопировали папку, новая папка считается созданной MFT и получает новую созданную и измененную метку времени.

Примечание. Структура и поведение файловой системы FAT отличаются в зависимости от измененной отметки времени. В файловой системе FAT дата изменения папки не изменяется, если содержимое папки изменяется. Например, если у вас есть D: \ FAT1 и D: \ FAT2, и вы копируете или перемещаете D: \ FAT2 в D: \ FAT1, дата создания и дата изменения D: \ FAT1 остается неизменной.

источник


Заключение

В поисках общих черт

Было установлено, что., ,

Каждая папка с копией метки времени не содержит файлов. Каждая папка, для которой не была скопирована временная метка, содержала файлы. Противоположность того, что я хотел. Я потерял временные метки папки, но в будущем я буду использовать Robocopy для этого типа задач. - RockPaperLizard

Поэтому при копировании папок из источника в место назначения с помощью проводника Windows просто кажется, что именно так он обрабатывает сохранение или не сохранение атрибутов отметки времени папки для этого типа операций по умолчанию.


профилактика

Сохранить атрибуты даты и времени для папок

Как предлагается в этой статье MS TechNet, вы можете использовать, Robocopy /DCOPY:Tчтобы сохранить исходные значения атрибута метки времени исходной папки ( /DCOPY:T : Copy Directory Timestamps.) при копировании в место назначения.

Это очень полезная информация. Спасибо. Этот MSKB не относится конкретно к Win7, но, надеюсь, он по-прежнему отражает предполагаемое поведение. Интересно, что описанное поведение * не * происходит. Некоторые из скопированных (или перемещенных ... папок ... кажется, что это не имеет значения) сохраняют свои модифицированные временные метки FAT16, но некоторые получают назначенные измененные временные метки, равные текущей дате / времени. Это довольно странно. Кроме того, к сожалению, эта статья не описывает случай копирования *** папки *** C: \ FAT16 в D: \ NTFS. RockPaperLizard 7 лет назад 0
Вы помогли мне понять это. ** Большое спасибо. ** Ключевое слово, которое вы использовали, было * общность *. Изначально я думал, что нет общих черт. Я ошибался. Фактически, каждая папка, в которой была скопирована временная метка *, не содержала файлов *. Каждая папка, для которой не была скопирована временная метка *, содержала файлы *. Противоположность того, что я хотел, но я предпочел бы это * случайным *! Я потерял временные метки папки, но в будущем я буду использовать Robocopy для этого типа задач. Чтобы помочь другим, вы бы предпочли добавить эту информацию в свой ответ, или вы хотите, чтобы я напечатал ее в другом ответе? RockPaperLizard 7 лет назад 0
@RockPaperLizard Я только добавил некоторые детали в свой ответ, чтобы помочь другим с некоторыми из этих аспектов, над которыми мы работали, после того, как я добавил исходный ответ со ссылками на материал. Дайте мне знать, если вы считаете, что этого будет достаточно, или если вы считаете, что мне нужно включить больше, форматировать по-другому и т. Д. Pimp Juice IT 7 лет назад 1
Новые разделы * Заключение * и * Предупреждение * выглядят великолепно. Еще раз спасибо! :-) RockPaperLizard 7 лет назад 1