为什么有些文件夹复制时带有错误的时间戳?

为什么有些文件夹复制时带有错误的时间戳?

将文件夹从 FAT16 格式的 microSD 卡复制到 NTFS 卷时,为什么某些(但不是全部)文件夹会在目标上具有当前日期/时间的修改时间戳?

一些目标文件夹的时间戳与源文件夹的时间戳相匹配,但一些目标文件夹在复制时其时间戳被更改以反映当前日期/时间。

使用 Windows 7 SP1 中的 Windows 文件资源管理器复制文件夹。 Chkdsk在源和目标上运行,未发现任何错误。

答案1

微软的一般解释

文件和文件夹的 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 - 创建的文件夹发生变化,修改的文件夹保持不变。

    出现这种情况的原因是,即使您移动了文件夹,主文件表 (MFT) 仍会认为在 D:\NTFS1 文件夹内创建了一个新文件夹。

  • 如果将 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 来完成这类任务。– 石头纸蜥蜴

因此,使用以下方法将文件夹从源位置复制到目标位置时Windows 文件资源管理器这似乎只是它默认处理保留或不保留此类操作的文件夹时间戳属性的方式。


预防

保留文件夹的日期时间戳属性

正如本文所建议的MS TechNet 文章您可以使用Robocopy /DCOPY:T/DCOPY:T : Copy Directory Timestamps.在复制到目标位置时保留原始源文件夹时间戳属性值( )。

相关内容