Jaimin Ajmeri Asked: 2016-12-22 20:56:42 +0800 CST2016-12-22 20:56:42 +0800 CST 2016-12-22 20:56:42 +0800 CST “右键单击文件”是否会更新其上次访问时间? 772 我正在使用 检查文件的最后访问时间GetFileTime,它有效。但它甚至给了我上次右键单击它的时间,这是预期的吗?但它不会显示在Accessed:文件属性的常规选项卡中的字段中。 windows-server-2008 windows-server-2003 timestamp 1 个回答 Voted Best Answer music2myear 2016-12-23T10:25:54+08:002016-12-23T10:25:54+08:00 简短回答:是的,右键单击文件更新有关文件的信息并触发更新,该更新被记录并可由 GetFileTime 检索。 然而,真正的答案有点复杂。 NTFS 在技术上仅通过列出目录中的文件来更新 LastAccess Time。因此,只需打开文件所在的目录就会触发该目录中所有文件的更新。 从 Windows 7 开始,有一个注册表项禁用此功能,以防止 NTFS 日志被填满。默认值会阻止 NTFS 在列出 NTFS 卷中的目录时更新每个文件和目录的上次访问时间戳:https ://technet.microsoft.com/en-us/library/cc959914.aspx 这些系统中的不同文件系统和不同指标也具有不同的时间分辨率: 并非所有文件系统都可以记录创建和上次访问时间,也不是所有文件系统都以相同的方式记录它们。比如FAT上create time的分辨率是10毫秒,而write time的分辨率是2秒,access time的分辨率是1day,所以是真正的access date。NTFS 文件系统将文件的上次访问时间的更新延迟到上次访问后最多 1 小时。 请参阅此处了解更多信息:http: //msdn.microsoft.com/en-us/library/ms724290 (v=vs.85).aspx 对于文件,该结构指定上次读取或写入文件的时间。对于目录,该结构指定目录的创建时间。对于文件和目录,指定的日期都是正确的,但时间总是设置为午夜。如果底层文件系统不支持最后访问时间,则此成员为零。 从这里: http: //msdn.microsoft.com/en-us/library/aa365739 (v=vs.85).aspx 这些可以在这里找到:https ://superuser.com/questions/232143/windows-7-file-properties-is-date-accessed-always-100-accurate
简短回答:是的,右键单击文件更新有关文件的信息并触发更新,该更新被记录并可由 GetFileTime 检索。
然而,真正的答案有点复杂。
NTFS 在技术上仅通过列出目录中的文件来更新 LastAccess Time。因此,只需打开文件所在的目录就会触发该目录中所有文件的更新。
从 Windows 7 开始,有一个注册表项禁用此功能,以防止 NTFS 日志被填满。默认值会阻止 NTFS 在列出 NTFS 卷中的目录时更新每个文件和目录的上次访问时间戳:https ://technet.microsoft.com/en-us/library/cc959914.aspx
这些系统中的不同文件系统和不同指标也具有不同的时间分辨率:
请参阅此处了解更多信息:http: //msdn.microsoft.com/en-us/library/ms724290 (v=vs.85).aspx
从这里: http: //msdn.microsoft.com/en-us/library/aa365739 (v=vs.85).aspx
这些可以在这里找到:https ://superuser.com/questions/232143/windows-7-file-properties-is-date-accessed-always-100-accurate