【发布时间】: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 正在缓存创建日期或其他东西。如果我更改目标文件夹或文件名,该新文件将获得实际日期/时间。