微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Windows兼容的文件系统的文件时间分辨率

我试图编写一个文件同步应用程序,可以在不同的Windows机器上使用任何兼容的文件系统通用。 我有一个要求,规范文件的时间戳之前,两台机器之间的同步到一个特定的粒度,以便在同步工作完成后,两个独立的机器上的文件似乎是时间戳相同的。 对于我的目的,我只需要规范化文件时间戳。 对于每个要同步的文件,我只需要规范化最后的写入时间和创build时间。

MSDN有这样的说FILETIME结构和它的解决scheme :

不是所有的文件系统都能logging创build和上次访问时间,并不是所有文件系统都以相同的方式logging它们。 例如,在NT FAT上,创build时间的分辨率为10毫秒,写入时间的分辨率为2秒,访问时间的分辨率为1天(实际上是访问date)。 在NTFS上,访问时间的分辨率为1小时。 因此, GetFileTime函数可能不会使用SetFileTime函数返回相同的文件时间信息集。 此外,FAT在本地时间在磁盘上logging时间。 但是,NTFS以UTClogging磁盘上的时间。 有关更多信息,请参阅文件时间

根据维基百科 :

寻找一个.NET SNMP扩展代理

C#:什么是最快的方式来生成一个唯一的文件名?

什么是使用用户提供的密码encryption和解密string的简单方法,在本机Win32和.NET中都可以使用?

构buildWindows服务的安装项目时出现问题?

向后兼容WPF应用程序创build使用点networking框架4.5

Windows使用FAT,NTFS,exFAT,Live文件系统和ReFS文件系统(其中最后一个仅在Windows Server 2012中受支持和可用; Windows无法从其启动)。

换句话说,我的问题可以概括为:

在FAT,NTFS,exFAT,Live File System和ReFS的分组中,

在Windows中,哪一个文件的最后写入时间的分辨率最差?

在Windows中,哪一个文件创build时间的分辨率最差?

我已经尝试过search,但无法find这些不同Windows兼容文件系统之间的文件时间戳分辨率差异的详细信息。

OpenCVSharp:无法加载DLL“OpenCvSharpExtern”

如何刷新或刷新C#Windows窗体?

错误“目录不是空的。”当目录是empy时

无法打开文件stream的阅读,但我仍然能够复制文件

如何在Windows 8.1任务pipe理器中测量磁盘的“平均响应时间”

在这里找到了我的答案,转到每个文件系统的文章并查找其日期解析

FAT8

不记录日期,在Windows中不受支持

FAT12,FAT16,FAT16B和fat32

其中一些在Windows中不受支持

上次修改时间:2秒

创建时间:10毫秒

访问时间:1天

删除时间:2秒

exFAT的

所有记录10毫秒。

NTFS

所有记录均为100 ns。

实时文件系统(UDF)

所有记录1μs。

裁判

无法找到解决方案的细节,但它相当现代,所以我认为大部分最糟糕的情况是在上面,目前没有多少人会使用它。 也许有人能发现这个帖子。

所以,要回答这个问题:

1.哪一个文件的最后写入时间在Windows中的分辨率最差?

2秒,FAT文件系统。

2.在Windows中,哪个文件的创建时间最差?

10毫秒,也是FAT文件系统。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐