The last access date is not changed even after reading the file on Windows 7
Andrew Mclaughlin
I have some files on Windows 7, and want to see what time it was that I read it this morning (February 27 morning), but when I right click on the file and choose Properties, I see
Accessed: Yesterday, Feb 26, 2011, 2:12:37PMso I open the file to read the content again, and then open up the Properties again, and still the Accessed (date) is the same (Feb 26).
Even if I add a column to the folder for "Date Accessed", it still shows Feb 26. But today is Feb 27 and clearly I have "accessed" it... so how can I see the true last accessed date?
2 Answers
The NtfsDisableLastAccessUpdate registry setting is enabled by default in Windows 7. This was a performance tweak that many people used in earlier OSes because it prevents a lot of excessive writes to the hard drive.
If you actually want the Last Access date updated the way it used to be, simply set the registry value to 0.
For future reference in case the doc link stops working, the key is located in:
HKLM\SYSTEM\CurrentControlSet\Control\FileSystemIt's a REG_DWORD value called NtfsDisableLastAccessUpdate that can be set to 0 or 1.
From the link:
4Determines whether NTFS updates the last-access timestamp on each directory when it lists the directories on an NTFS volume.
This entry is designed to prevent the NTFS log buffer in physical memory from becoming filled with timestamp update records. If you have an NTFS volume with a very large number of directories (in excess of 70,000), and Windows 2000 does not respond quickly to dir commands, adding this entry to the registry might make directories list faster.
0 - When listing directories, NTFS updates the last-access timestamp on each directory it detects, and it records each time change in the NTFS log.
1 - When listing directories, NTFS does not update the last-access timestamp, and it does not record time stamp updates in the NTFS log.
Using this command to enable/disable LastAccessTime :
Open an elevated command prompt. Right click Windows Start button and select Command Prompt (Admin). To check the Last access time updates are enabled or not, run:
C:\> fsutil behavior query disablelastaccess
DisableLastAccess = 1
To enable Last access time update:
C:\> fsutil behavior set disablelastaccess 0
DisableLastAccess = 0
To disbale Last access time update:
C:\> fsutil behavior set disablelastaccess 1
DisableLastAccess = 1After making any change you must restart the computer for the changes to take place.