【问题标题】:Creation Date and File.Copy Issue创建日期和 File.Copy 问题
【发布时间】:2010-12-15 17:21:27
【问题描述】:

我正在尝试将文件从一个目录复制到另一个目录并根据文件创建日期进行测试。

File.Copy(fileName, directory + fileNameOnly, true);

当我检查创建日期以确保它不超过 5 天时,我的程序稍后会出现问题。

FileInfo file = new FileInfo(fileName);
if (file.CreationTime.AddHours(120) < DateTime.Now) {}

我看到复制回来时的创建日期设置为 1980-01-01。这对我的要求没有用,因为我想维护原始文件的创建日期。是否有另一种比较日期的方法,或者是副本丢失了创建日期值。

我想我的问题是,如何保持创建日期?

【问题讨论】:

  • 这很奇怪。我尝试使用 File.Copy 复制文件,在我的情况下,复制的文件将当前日期/时间作为其创建日期/时间。但是……不完全是。每次运行时,创建日期都是相同的,即使现在是 5 分钟前。即使我使用资源管理器将同一个文件复制到同一个目标,复制的文件也会显示相同的日期/时间(那时是 6 分钟前)。它几乎看起来像 Windows 正在缓存创建日期或其他东西。如果我更改目标文件夹或文件名,该新文件将获得实际日期/时间。

标签: c# .net file-io


【解决方案1】:

复制文件后使用File.SetCreationTime 方法。
您可以通过File.GetCreationTime获取源文件的创建时间

【讨论】:

  • 这给了我一个 System.Unauthorized 异常
  • 似乎无法通过 SMB 从我的 Windows 10 本地计算机到 Linux NAS。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-19
  • 1970-01-01
  • 1970-01-01
  • 2010-10-18
相关资源
最近更新 更多