とか言いつつ今日は暑いです。
えー、8月も間もなく終わり、前回のエントリからほぼ3週間ですか。思いの外サボってしまいました…。
そんな時期もありますよね(白目)。ボチボチいきます…。
とか言いつつ今日は暑いです。
えー、8月も間もなく終わり、前回のエントリからほぼ3週間ですか。思いの外サボってしまいました…。
そんな時期もありますよね(白目)。ボチボチいきます…。
public static void ByCounts(string path, int keepCount)
{
Directory.GetFiles(path)
.OrderByDescending(f => f)
.Skip(keepCount)
.ToList()
.ForEach(f => File.Delete(f));
}
ま、シンプルですよね。public static void BySize(string path, long size)
{
long totalSize = 0;
Directory.GetFiles(path)
.OrderByDescending(f => f)
.SkipWhile(f => (totalSize += new FileInfo(f).Length) < size)
.ToList()
.ForEach(f => File.Delete(f));
}
public static void ByDays(string path, int days, int startPos, string dateForm)
{
var target = DateTime.Today.AddDays(-days);
Directory.GetFiles(path)
.Where(f => DateTime.ParseExact(
Path.GetFileName(f).Substring(startPos, dateForm.Length),
dateForm,
System.Globalization.DateTimeFormatInfo.InvariantInfo) < target)
.ToList()
.ForEach(f => File.Delete(f));
}
DeleteOldLogFiles.ByDays(logFolderPath, 3, 4, "yyyy-MM-dd");