Иногда появляется необходимость реализовать удаление файлов из каталога, которые старше определённого количества времени. Давайте с вами рассмотрим на примере код, который позволяет нам удалять файлы старше N дней.
N — любое установленное вами количество дней.
Напишем простой код с комментариями, которые помогут нам сориентироваться.
using System; using System.IO; // удалить файлы старше N дней int delDay= 1; // дни (через сколько удалять старые файлы) string[] files = Directory.GetFiles(“C:\folder”); // получаем все файлы из указанного каталога foreach (string file in files) // удаление старых файлов в цикле { FileInfo fi = new FileInfo(file); if (fi.CreationTime < DateTime.Now.AddDays(-delDay)) { fi.Delete(); } // если дата создания файла меньше (сегодня - delDay), то удаляем файл }
Удаление файла по времени можно использовать для очистки старых логов и т.д.
Мы можем ориентироваться не только на дату создания файла (CreationTime), но и на другие параметры. К примеру, можем удалять файлы, которые не изменялись последние N дней. Для этого достаточно в коде заменить CreationTime на нужный нам параметр.
CreationTime — дата создания файла;
LastWriteTime — дата последнего изменения файла.