获取具有特定最后修改日期的所有文件的列表
本文关键字:列表 文件 日期 最后 获取 修改 | 更新日期: 2023-09-27 18:15:15
我正在用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
}
然而,这给了我目录中的所有文件,所以它不是压缩700个文件,而是压缩文件夹中的所有53,000个文件,这不是我想要的。
当我在Windows资源管理器中查看时,我在"最后修改"列中看到了正确的日期,但由于某种原因,我的代码拒绝承认相同的日期。我都试过了:
var files = directory.GetFiles()
.Where(file => file.CreationTime <= to_date);
和
var files = directory.GetFiles()
.Where(file => file.LastWriteTime <= to_date);
结果相同。
我做错了什么?
您当前的Where
表达式将给出昨天此时或之前的所有文件。也许你想要这样的:
var files = directory.GetFiles()
.Where(file => file.LastWriteTime.Date == to_date.Date);
检查文件最后修改日期的date部分是否与指定输入日期的date部分匹配。