为什么Windows在它们的时间戳相同的情况下将文件之一称为“较新的”?


17

Windows显示此对话框时,如何比较这两个修改日期中的哪个“较新”?

最初,我认为Windows正在比较“创建日期”属性,并使用该比较的结果来标记一个或另一个“(较新)”。(如果将文件复制到特定位置,则它的创建日期可能是复制发生的日期,而不是文件的原始创建日期。)但是,用另一个文件来复制它,其结果是“较新”似乎相反:

显示为“复制”或“移动”:

对于背景,test2中的文件是test1中文件的先前副本。


驱动器E:上的文件系统类型是什么?FAT32NTFS?它是网络驱动器吗?
彼得·莫滕森

E:和C :(“较旧”文件已被复制到该文件并在其中复制)都是NTFS。
WBT

Answers:


22

NTFS文件系统中的时间戳具有100纳秒(0.0000001 s)的分辨率。即使属性对话框显示相同的四舍五入值,也可能仍然是文件创建的时间,例如彼此之间相差十分之一秒。

(大多数文件系统的时间以μs或ns为单位。FAT32有点用,将时间戳取整到2秒。)

尝试使用以下方法之一比较完整时间戳:

wmic datafile where name="c:\\foo\\bar.txt" get lastmodified

电源外壳:

(Get-ChildItem c:\foo\bar.txt).LastWriteTime.ToString("o")

请记住,test1中的文件是通过从test2复制文件而创建的。
WBT

在那种情况下,您可以验证时间戳是否确实相同吗?
user1686 '17


5
这似乎是答案。最终可能会接受。一个给出“ 20170115002742.000000-300”的LastModified,另一个给出“ 20170115002742.160883-300”的LastModified。在其他测试中,似乎某些复制操作消除了分数秒信息。
WBT

4
甚至比那更糟。FAT32将文件时间存储为本地时间,这会带来各种痛苦和悲伤。此外,修改时间的分辨率为2秒,创建时间的分辨率为10秒,访问时间的分辨率为1天!
科迪·格雷
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.