今日からn日前のファイルを削除する

ログとかバックアップファイルとかたまっちゃう。
せめて古いファイルは消しておこう。

こーど

/***********************************************************
   ファイル削除スクリプト
************************************************************
[メモ]
   ArcSrvのバックアップ後スクリプトの中から起動されます。
   アーカイブフォルダから移動されたアーカイブログを
   実行日から振り返って指定日以前のファイルを削除します。
[History]
   2011/11/07 新規作成
***********************************************************/
/*************************************************
   定数
   -----------------------------------------------
   DebugMode           : デバッグモード
                       : ファイル削除せずログ出力をします(WScriptだとWindowが上がるのでCScriptがおすすめ)
   DeleteFromFolder    : 削除対象ファイル格納フォルダ
   MiriSecOfDay        : 1日のミリ秒(1000ms * 60s * 60m * 24h)
   DeleteDayPeriod     : DeleteDayPeriod日以前のファイルを削除します
   DeleteFileExtension : 削除するファイルの拡張子
*************************************************/
var CNST = {
   "DebugMode"           : false
  ,"DeleteFromFolder"    : "D:\\backup"
  ,"MiriSecOfDay"        : 86400000
  ,"DeleteDayPeriod"     : 30
  ,"DeleteFileExtension" : "DBF"
};
/*************************************************
   メイン
*************************************************/
var objFso        = new ActiveXObject("Scripting.FileSystemObject");
var objFolder     = objFso.GetFolder(CNST.DeleteFromFolder);
var objFiles      = new Enumerator(objFolder.files);
var decNowDate    = Date.parse(new Date()) / CNST.MiriSecOfDay;

for (; ! objFiles.atEnd(); objFiles.moveNext()) {
   var decFileDate = Date.parse(objFiles.item().DateLastModified) / CNST.MiriSecOfDay;
   if (CNST.DebugMode){
      WScript.echo("FileName         :" + objFiles.item().Name + "\r\n" +
                   "DateLastModified :" + objFiles.item().DateLastModified + "\r\n" +
                   "Remark           :" + (decNowDate - decFileDate)
      );
   }
   if (((decNowDate - decFileDate) >= CNST.DeleteDayPeriod) && 
       (objFso.GetExtensionName(objFiles.item()).toUpperCase() == CNST.DeleteFileExtension.toUpperCase())){
      if (CNST.DebugMode){
         WScript.echo("★★★削除★★★");
      }else{
         objFso.DeleteFile(objFiles.item());
      }
   }else{
      if (CNST.DebugMode){
         WScript.echo("□□□保存□□□");
      }
   }
   WScript.echo("");
}
/**********************************************************/

あー恥ずかしい。

デバッグ

DOS>CScript ファイル名 //x

これは便利