【问题标题】:Getting all files modified within a date range获取日期范围内修改的所有文件
【发布时间】:2011-11-07 13:42:49
【问题描述】:

我们有一个 asp.net,C# 应用程序,其中需要获取所有修改日期为 b/w startdate 和 enddate 的文件。我们怎样才能做到这一点? 还想获取最近 3 个月未修改的所有文件?

【问题讨论】:

    标签: c# asp.net file last-modified


    【解决方案1】:

    根据this post,您可以这样做:

    var directory = new DirectoryInfo(your_dir);
    DateTime from_date = DateTime.Now.AddMonths(-3);
    DateTime to_date = DateTime.Now;
    var files = directory.GetFiles()
      .Where(file=>file.LastWriteTime >= from_date && file.LastWriteTime <= to_date);
    

    【讨论】:

    • 也喜欢@nicholas-carey 的这个答案here 建议Directory.EnumerateFiles() 超过Directory.GetFiles()
    • 又一次投反对票,认真的吗?请投反对票,留下说明我的帖子不好的原因,以便我最终修改它并为社区提供更好的答案!
    • 我怀疑使用了“GetFiles”。这首先获取所有文件的完整列表,然后将完整的数组传递给 where 子句。在具有大量文件的文件系统上,这将是低效的。 Enumeratefiles 将每个文件传递到 where 子句。
    【解决方案2】:

    看看这个问题并回答:

    How to find the most recent file in a directory using .NET, and without looping?

    您可以从那里开始,并将您的 where 子句添加到答案中提供的 LINQ 查询中:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-26
      • 2021-01-25
      • 2022-08-20
      • 1970-01-01
      相关资源
      最近更新 更多