即使在 Windows 7 上读取文件后,最后访问日期也不会更改

non*_*ity 33 windows windows-7 filesystems

我在 Windows 7 上有一些文件,想看看我今天早上(2 月 27 日早上)阅读它的时间,但是当我右键单击该文件并选择“属性”时,我看到

Accessed: Yesterday, Feb 26, 2011, 2:12:37PM
Run Code Online (Sandbox Code Playgroud)

所以我再次打开文件读取内容,然后再次打开属性,访问(日期)仍然相同(2月26日)。

即使我在“访问日期”文件夹中添加一列,它仍然显示 2 月 26 日。但今天是 2 月 27 日,显然我已经“访问”了它……那么我如何才能看到上次访问的真实日期?

Rya*_*ger 38

NtfsDisableLastAccessUpdate注册表设置默认情况下,在Windows 7中启用这是一个性能的调整,在之前的操作系统中使用的许多人,因为它可以防止大量的过度写入到硬盘驱动器。

如果您确实希望上次访问日期按照以前的方式更新,只需将注册表值设置为 0。

为了将来参考,以防文档链接停止工作,密钥位于:

HKLM\SYSTEM\CurrentControlSet\Control\FileSystem
Run Code Online (Sandbox Code Playgroud)

它是一个名为 REG_DWORD 的值NtfsDisableLastAccessUpdate,可以设置为 0 或 1。

从链接:

确定 NTFS 在列出 NTFS 卷上的目录时是否更新每个目录的上次访问时间戳。

此项旨在防止物理内存中的 NTFS 日志缓冲区被时间戳更新记录填满。如果您有一个包含大量目录(超过 70,000 个)的 NTFS 卷,并且 Windows 2000 不能快速响应 dir 命令,则将此条目添加到注册表可能会使目录列表更快。

0 - 列出目录时,NTFS 更新它检测到的每个目录的上次访问时间戳,并在 NTFS 日志中记录每次更改。

1 - 列出目录时,NTFS 不会更新上次访问时间戳,并且不会在 NTFS 日志中记录时间戳更新。

  • 而不是通过注册表,更简单的方法是在提升的命令提示符下键入:`fsutil behavior set DisableLastAccess 0` (9认同)
  • 哇......我想它不应该在它实际上不准确时显示它......这可能会引起很多混乱,例如父亲与儿子交谈“我以为你说你今天下午看了文档?我看到最后一个访问时间为 5 天前。” 或者,“我判你入狱 10 年,显然你在撒谎,你说你在家里读那个文件,但我们检查了你的电脑,那个文件的最后访问日期实际上是 2 个月前。你在说谎法庭。” (2认同)
  • @太极者无极而生 嗯,说实话,任何计算机数据都/应该在法庭上被视为非常古怪的证据。毕竟,一切都可以更改,如果不是由普通用户更改,那么肯定是由黑客更改,特别是当您可以从另一个操作系统访问该文件并覆盖数据时,Windows 不会妨碍您。 (2认同)

Luk*_*uke 9

使用此命令启用/禁用 LastAccessTime :

打开提升的命令提示符。右键单击 Windows 开始按钮并选择命令提示符(管理员)。要检查是否启用了上次访问时间更新,请运行:

C:\> fsutil behavior query disablelastaccess DisableLastAccess = 1

要启用上次访问时间更新:

C:\> fsutil behavior set disablelastaccess 0 DisableLastAccess = 0

要取消上次访问时间更新:

C:\> fsutil behavior set disablelastaccess 1 DisableLastAccess = 1 进行任何更改后,您必须重新启动计算机才能使更改生效。