Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 什么可以更改文件的创建/修改日期?_C#_Windows_File - Fatal编程技术网

C# 什么可以更改文件的创建/修改日期?

C# 什么可以更改文件的创建/修改日期?,c#,windows,file,C#,Windows,File,我使用文件修改日期作为via C#中文件名的基础。我的问题是什么可以使修改后的日期改变? 实际上,我认为修改后的日期首先是创建日期。但当我将文件从USB移动到硬盘时,创建日期正在更改。所以我不得不使用修改过的日期,它有正确的,未设定的日期 正如我所想,当文件被移动时,修改的日期被更改了,但实际上创建的日期至少在Windows7中被更改了 是否有任何用例会意外地更改文件的日期(从压缩文件中解包文件除外)?比如从DVD到硬盘之类的 致意 Rob先生将日期和时间戳相关的属性归档 如果将文件从C:\f

我使用文件修改日期作为via C#中文件名的基础。我的问题是什么可以使修改后的日期改变? 实际上,我认为修改后的日期首先是创建日期。但当我将文件从USB移动到硬盘时,创建日期正在更改。所以我不得不使用修改过的日期,它有正确的,未设定的日期

正如我所想,当文件被移动时,修改的日期被更改了,但实际上创建的日期至少在Windows7中被更改了

是否有任何用例会意外地更改文件的日期(从压缩文件中解包文件除外)?比如从DVD到硬盘之类的

致意 Rob先生

将日期和时间戳相关的属性归档
  • 如果将文件从C:\fat16复制到C:\fat16\sub,它会保留相同的修改日期和时间,但会将创建的日期和时间更改为当前日期和时间
  • 如果将文件从C:\fat16移动到C:\fat16sub,它将保留相同的修改日期和时间,并保留相同的创建日期和时间
  • 如果将文件从C:\fat16复制到D:\NTFS,则会保留相同的修改日期和时间,但会将创建的日期和时间更改为当前日期和时间
  • 如果将文件从C:\fat16移动到D:\NTFS,它将保留相同的修改日期和时间,并保留相同的创建日期和时间
  • 如果将文件从D:\NTFS复制到D:\NTFS\SUB,则会保留相同的修改日期和时间,但会将创建的日期和时间更改为当前日期和时间
  • 如果将文件从D:\NTFS移动到D:\NTFS\SUB,它将保留相同的修改日期和时间,并保留相同的创建日期和时间
  • 在所有示例中,除非文件的属性已更改,否则文件的修改日期和时间不会更改。文件的创建日期和时间会根据文件是复制还是移动而变化

有关更多信息,请参阅。

我相信,当文件内容发生变化时,修改日期会发生变化。

当您使用写访问权限打开文件并将其保存回时,或者当您刚开始写入文件时。您是否意识到,在文件系统之间“移动”文件时,移动就是复制+删除?创建新文件,删除旧文件。因此,您将获得一个新的创建日期和一个新的修改日期。在文件系统中移动只是更新某个位置的指针,以告知OS/文件系统该文件位于新位置。从字面上看,任何其他代码都可以选择更改文件的时间戳。@MarcB:通常,创建日期会更改,但修改日期不会更改,因为CopyFile()会将修改日期从原始复制到目标。最后一个访问戳在移动和复制时都会更改。是否有办法获得从未复制的文件中选择“原始创建日期/时间”,或者复制文件时是否丢弃此信息?