今日から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(""); } /**********************************************************/
あー恥ずかしい。