かぷこのメモ

仕事でやってきたことなど自由に書いていきます

古いログファイルの削除

フォルダ一覧からLOGフォルダの中にある、LOG20191010.log を削除する。


ファイルの名前に日付があるので、Substringで切り出す。


public void CheckOldLogfile()
{
 uint lifespan = 7; //保持期間(7日)
 // フォルダのファイルパスを取得
 string[] dirPath = Directory.GetDirectories("..\\");
 foreach (string i in dirPath)
 {
  //ファイルパスの取得
  string[] filePath = Directory.GetFiles( i  + "\\LOG");
  foreach (string  f  in filePath)
  {
   //ファイル名の取得
   string fileName = Path.GetFileNameWithoutExtension(f);
   //ファイルの切り出し
   string fileNameDay = fileName.Substring(3);
   var target = DateTime.Today.AddDays(-lifespan);
   //日付の比較
   if (DateTime.ParseExact(fileNameDay, "yyyyMMdd", null) < target)))))
   {
     File.Delete( f );
   }
  }
 }

}
    

☆文字列を変換するためのメソッド

Datetime.ParseExact(第一引数 , 第二引数 , 第三引数)

第一引数:文字列を指定
第二引数:フォーマットを指定(第一引数に合わせる)
第三引数:nullでOK


 参考ブログ

raku-lab.hatenablog.jp