首页 > 解决方案 > 如何获取所有超过 N 分钟的文件?

问题描述

我必须从目录中获取所有超过 2 分钟的文件。

string sDir ="C:\\Test";
string[] files;
files = Directory.GetFiles(sDir, @"*.xml", SearchOption.TopDirectoryOnly);

我可以遍历 files 数组并获取 File 属性以获取文件创建时间。

    FileInfo fi = new FileInfo(files);

但我想在GetFiles级别上进行过滤。

标签: c#file

解决方案


您可以尝试使用Linq来查询这些文件:

  using System.IO; 
  using System.Linq;

  ...

  DateTime limit = DateTime.Now.AddMinutes(-2);

  var files = Directory
    .EnumerateFiles(sDir, @"*.xml", SearchOption.TopDirectoryOnly)
    .Where(file => new FileInfo(file).CreationTime < limit)
    .ToArray(); // if you want an array of the files

推荐阅读