我正在使用C#编写一个程序,该程序将获取特定日期创建的给定目录中所有文件,然后压缩这些文件并将它们存储到另一个目录中。听起来很简单明了,我拥有Teleriks组件的许可证,这可以处理压缩业务。
但是为了选择文件,我使用以下代码:
但是为了选择文件,我使用以下代码:
//Get all files created yesterday
DateTime to_date = DateTime.Now.AddDays(-1);
var directory = new DirectoryInfo(@"C:\Path_Of_Files");
var files = directory.GetFiles()
.Where(file => file.CreationTime <= to_date);
if (files.Count() > 0)
{
//Zipping code here
}
然而,这会给我返回目录中的所有文件,所以它会压缩文件夹中的所有53,000个文件,而不是我想要的700个文件。
当我在Windows资源管理器中查看时,“上次修改”列中显示了正确的日期,但由于某种原因,我的代码拒绝承认相同的日期。我已经尝试过以下两种方法:
var files = directory.GetFiles()
.Where(file => file.CreationTime <= to_date);
并且
var files = directory.GetFiles()
.Where(file => file.LastWriteTime <= to_date);
两者结果相同。
我做错了什么?