Иногда появляется необходимость реализовать удаление файлов из каталога, которые старше определённого количества времени. Давайте с вами рассмотрим на примере код, который позволяет нам удалять файлы старше 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 — дата последнего изменения файла.