File date and time updates
Started by Tom G.
File date and time updates 24 February 2021, 11:30
What you have encountered is a Windows feature known as tunnelling. When a name is removed from a directory (rename or delete), its short/long name pair and its creation time are saved in a cache, keyed by the name that was removed. When a name is added to a directory (rename or create), the cache is searched to see if there is any information to restore. The cache is effective per instance of a directory. If a directory is deleted, its cache is removed.
Microsoft used to have an article about this under KB 172190. This article has been since removed, however here is another confirmation of this behaviour:
If you rename or delete a file, then restore it shortly thereafter, Windows searches the cache for file information to restore. Cached information includes its short/long name pair and creation time.
Tunneling capabilities exist to enable compatibility with programs that rely on file systems being able to hold onto file meta info for a short period of time. Its effects appear after a deletion or renaming and subsequent re-introduction of a new directory entry with the same meta-info, i.e. if a create or rename action causes a file of that name to appear again in a short period of time.
Tunneling cache time can be adjusted. It can also be disabled via Windows registry or if tunneling effects are undesirable. Please note that if tunneling is disabled, applications that use this method can lose the name they are unaware of (usually long file names) and the rediscovery of shortcut targets could be impaired as the creation timestamps cannot remain constant for files manipulated by such applications.
- To increase tunneling cache time, modify the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem registry key by adding a new DWORD value MaximumTunnelEntryAgeInSeconds and then setting it to 30. The value can be between 1 and 30 seconds, the default is 15.
- To disable tunneling, modify the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem registry key by adding a new DWORD value MaximumTunnelEntries and then setting it to 0.