Иногда появляется необходимость реализовать удаление файлов из каталога, которые старше определённого количества времени. Давайте с вами рассмотрим на примере код, который позволяет нам удалять файлы старше N дней.
N — любое установленное вами количество дней.
Напишем простой код с комментариями, которые помогут нам сориентироваться.
using System; using System.IO; 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(); } }
Удаление файла по времени можно использовать для очистки старых логов и т.д.
Мы можем ориентироваться не только на дату создания файла (CreationTime), но и на другие параметры. К примеру, можем удалять файлы, которые не изменялись последние N дней. Для этого достаточно в коде заменить CreationTime на нужный нам параметр.
CreationTime — дата создания файла;
LastWriteTime — дата последнего изменения файла.