Я фильтрую файлы для удаления по временной метке создания. Часть кода, использующая создание файлов, работает нормально, за исключением того, что в эти файлы встроена временная метка, которая каким-то образом отличается от времени создания. Это приводит к тому, что несколько файлов пропускаются для удаления.
Вот что я сейчас использую:
public static void DeleteLogFiles(string sPath, DateTime dtDate, int iLogFileRetention)
{
try
{
(from f in new DirectoryInfo(sPath).GetFiles()
where f.CreationTime < dtDate.Subtract(TimeSpan.FromDays(iLogFileRetention))
select f
).ToList()
.ForEach(f => f.Delete());
}
catch (Exception ex)
{
}
}
Встроенная временная метка в имени файла имеет формат MMddyyyyHHmmss.
ABCD_20240309000024.dat, but its last modified date is 03/12/2024
Как изменить приведенный выше оператор Linq, чтобы использовать встроенную метку времени, а не дату создания/изменения?
where f.FileName ?????
Подробнее здесь: https://stackoverflow.com/questions/781 ... -file-name