C# 古いファイルを削除するプログラム

プログラミング プログラミング
プログラミング
Sponsored links
Sponsored links

はじめに

プログラムを制作しているときには、できる限りLogを残しておきたいと思っています。製品になったときにちょっと気の足しにでもなりますからね。しかし、何でもかんでもLogを残しておくと結構なメモリを食ってしまいます。Log出力用のライブラリは圧縮機能が装備されていたりしますが、十数年使用される装置ではLogサイズの肥大化が問題になります。
そこで、一番最初に考えるのは古いLogデータなど、たとえば1週間以上前のファイルを削除したいことが多々あります。パッと思いつかなかったので、忘備録として残しておきます。

コード

一週間以上前のファイルを消去する

int LIFE_SPAN = 7;
String DataPath = "<削除したいファイルがあるフォルダ>";

DirectoryInfo di = new DirectoryInfo(DataPath);
var target = DateTime.Today.AddDays(-LIFE_SPAN);
foreach(FileInfo fi in di.GetFiles())
{
	if(fi.LastWriteTime < target)
	{
  	fi.Delete();
	}
}

10ファイル以上になったら一番古いファイルを削除

タイトルとURLをコピーしました