Как сделать все файлы старше N минут? - PullRequest
0 голосов
/ 16 июня 2020

Мне нужно получить все файлы старше 2 минут из каталога.

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

Я могу oop через массив файлов и получить атрибут File, чтобы получить время создания файла.

    FileInfo fi = new FileInfo(files);

Но я бы хотел сделать фильтрацию на уровне GetFiles.

1 Ответ

3 голосов
/ 16 июня 2020

Вы можете попробовать 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...