【发布时间】:2016-06-24 00:20:28
【问题描述】:
我在 C# 中使用文件修改日期作为文件名的基础。我的问题是什么可以使修改日期改变? 我实际上认为修改日期首先是创建日期。但是当我将文件从 USB 移动到硬盘时,创建日期正在改变。所以我不得不使用修改后的日期,它有正确的、未修改的日期。
正如我在移动文件时所想的那样,修改日期已更改,但实际上它的创建日期至少在 Windows 7 中已更改。
是否有任何用例可能会令人惊讶地更改文件的日期(从压缩文件中解压缩文件除外)?就像从 DVD 到硬盘驱动器或类似的东西?
最好的问候 罗先生
【问题讨论】:
-
当您以写入权限打开文件并将其保存回来或刚开始写入文件时。
-
您确实意识到在文件系统之间“移动”文件时,移动就是复制+删除?创建新文件,删除旧文件。因此你得到一个新的创建日期和一个新的修改日期。在文件系统内移动只是在某处更新指针以告诉操作系统/文件系统该文件位于新位置
-
Code。从字面上看,任何其他代码可以选择更改文件的时间戳。
-
@MarcB:通常情况下,创建日期会改变,但修改日期不会,因为 CopyFile() 会将修改日期从原始日期复制到目标位置。