Rules for "Date Modified" of folders in Windows Explorer
How does Windows Explorer determine the "Date Modified" field for folders? [Aside: I know this is asking from an explorer-specific perspective, but the behaviour could be useful to coding search/sort type activities]
Is there a definitive description of this anywhere - searches of Microsoft, MSDN, Google & Stack Overflow have been unsuccessful.
Personal experiments seem to suggest that in a tree of folders:
- when a folder/file is added/deleted in a folder, the containing folder's date modified is updated.
- when the content of a file is modified, the containing folder is unaffected
However, I'm looking at some directories that don't seem to conform to these basic rules - running down the tree I have (dates in DD/MM/YYYY format):
folder (date created: 2/2/2006, date modified: 2/3/2006)
folder (date created: 2/2/2006, date modified: 2/3/2006)
folder (date created: 2/2/2006, date modified: 1/6/2009)
file (date created: 27/3/2009, date modified: 2/2/2006)
Solution 1:
Disclaimer: I tested all of these myself on Windows 10. I could not find an authoritative source documenting all of these behaviours. It is entirely possible that I made a mistake somewhere.
The folder's last modified time is updated for these actions:
- new file or folder directly in target folder
- renamed file or folder directly in target folder
- deleted file or folder directly in target folder
- hardlink create/delete/rename - same as files
- file/folder symlink create/delete/rename
- directory junction create/delete/rename
It is not updated for these actions:
- modified contents of file directly in target folder
- edit target of symlink or junction contained in target folder
- file's or sub-folder's created/modified date changing
- edit basic attributes (hidden/archive/system) of a direct child
- NTFS compression/encryption change of a direct child
- anything at all happening in a sub-folder - literally anything
- changing attributes of the folder itself
- changing owner/ACL of the folder itself
- owner or ACL of a direct child changing
- if the folder is a directory junction, changing the target
- adding/deleting alt data streams to a direct child file
Solution 2:
This is not explorer specific, this is NTFS-related.
See http://support.microsoft.com/kb/299648 https://web.archive.org/web/20080219020154/http://support.microsoft.com/kb/299648 for some rules.
Note: Modified time can be disabled with filesystem option, so you should never rely on it. Any suggested reliable methods would be appreciated.