【问题标题】:Not getting actual file created date after moving the file in another folder in c#将文件移动到c#中的另一个文件夹后,没有得到实际的文件创建日期
【发布时间】:2020-02-28 13:10:55
【问题描述】:

我正在尝试获取文件创建日期一切正常,但如果我将文件从一个文件夹移动到另一个文件夹,它会丢失其实际日期并返回当前日期。我知道它适用于目录和文件创建日期。但我需要实际的创建日期。 感谢您提前提供的帮助。

DateTime fileCreatedDate = File.GetCreationTime(file);

【问题讨论】:

  • 文件名是否与同一文件夹/路径中的另一个已删除文件完全相同?移动时是否覆盖另一个文件?
  • 尝试修改日期。
  • @kaj 是的,我只是在移动文件而不重命名它
  • @prathamthakur 看看我的回答,了解我为什么要问。

标签: c# file date


【解决方案1】:

如果该文件覆盖了同一文件夹中的另一个文件,或者它的名称与另一个已删除的文件完全相同,那么由于file system tunnelling,它将采用另一个文件的创建日期

一个简单的解决方法是在移动文件之前读取文件的创建日期,然后在移动文件后设置您使用的创建日期:

File.SetCreationTime

File.SetCreationTime

【讨论】:

  • 这是个好主意,但是由于某些安全原因,我无法更改文件。
  • 我不知道它在 Move 而不是 Copy 上发生更改的确切原因是什么
  • 没问题。感谢您的帮助!!
【解决方案2】:

这个例子展示了如何获取文件时间信息,当任何文件被创建、最后修改或访问时。要获取文件日期时间信息,您可以使用 File 类的静态方法或 FileInfo 类的实例方法。 https://www.csharp-examples.net/file-creation-modification-time/

【讨论】:

    猜你喜欢
    • 2012-06-12
    • 2023-01-02
    • 2013-11-06
    • 1970-01-01
    • 2011-04-24
    • 1970-01-01
    • 2013-11-11
    • 1970-01-01
    相关资源
    最近更新 更多