Windows资源管理器中文件夹的"修改日期"规则

Kev*_*nes 54 windows directory explorer datetime

Windows资源管理器如何确定文件夹的"修改日期"字段?[旁白:我知道这是从特定于资源管理器的角度提出的,但这种行为可能对编码搜索/排序类型活动有用]

是否有任何明确的描述 - 微软,MSDN,谷歌和Stack Overflow的搜索都没有成功.

个人实验似乎暗示在一个文件夹树:

  1. 在文件夹中添加/删除文件夹/文件时,将更新包含文件夹的修改日期.
  2. 修改文件内容时,包含文件夹不受影响

但是,我正在查看一些似乎不符合这些基本规则的目录 - 运行我所拥有的树(日期为DD/MM/YYYY格式):

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)
Run Code Online (Sandbox Code Playgroud)

Rom*_*kov 30

免责声明:我在Windows 10上自己测试了所有这些.我找不到记录所有这些行为的权威来源.我完全有可能在某个地方犯了错误.

文件夹的上次修改时间针对以下操作进行更新:

  • 新文件或文件夹直接在目标文件夹中
  • 直接在目标文件夹中重命名文件或文件夹
  • 直接在目标文件夹中删除文件或文件夹
  • hardlink create/delete/rename - 与文件相同
  • 文件/文件夹符号链接创建/删除/重命名
  • 目录连接创建/删除/重命名

没有针对这些操作进行更新:

  • 直接在目标文件夹中修改文件的内容
  • 编辑目标文件夹中包含的符号链接或联结的目标
  • 文件或子文件夹的创建/修改日期更改
  • 编辑直接子项的基本属性(隐藏/存档/系统)
  • NTFS压缩/加密直接子项的更改
  • 任何事情都发生在子文件夹中 - 几乎任何东西
  • 更改文件夹本身的属性
  • 更改文件夹本身的所有者/ ACL
  • 直接孩子改变的所有者或ACL
  • 如果文件夹是目录连接,则更改目标
  • 将alt数据流添加/删除到直接子文件

  • 太棒了,谢谢。在某种程度上,这是有道理的,虽然有时我希望文件/子文件夹修改也会修改文件夹日期,但这将使更改检测变得更容易...... (5认同)
  • 令人惊奇的是我可以重命名文件夹并且修改日期没有改变。这违背了最小意外原则。 (5认同)
  • 谢谢,所以(缺乏对NTFS的深入了解,但有一些FAT32)这表明文件夹可以解释为"文件",其数据包含所包含的文件/子文件夹名称和指针,但不包括其元数据,因此只修改名称或指针更新修改日期.我假设网络共享NTFS的行为相同,但没有检查 (2认同)
  • @TobiasKienzler 是的,我认为这是总结它的好方法。 (2认同)

J-1*_*DiZ 24

这不是特定于资源管理器,这与NTFS相关.

有关一些规则,请参阅http://support.microsoft.com/kb/299648 https://web.archive.org/web/20080219020154/http://support.microsoft.com/kb/299648.

注意:可以使用filesystem选项禁用修改时间,因此您不应该依赖它.任何建议的可靠方法将不胜感激.

  • 当你说"可以使用filesystem选项禁用修改时间"时,我找不到任何相关证据.你的意思是访问时间吗?这是另一篇关于修改时间的MSDN文章:"关于文件时间戳的唯一保证是,当关闭进行更改的句柄时,文件时间会正确反映." https://msdn.microsoft.com/en-us/library/windows/desktop/ms724290(v=vs.85).aspx (4认同)