自分用の忘備録です。
やりたいこと
- Windows Server2012で
- 特定日数が経過したファイルを削除する
(ファイル名に日付が含まれている状態)
実行方法
- タスクスケジューラにバッチファイルを登録
- バッチファイル内でVBScript(.vbs)を実行
- VBScriptで特定日数を経過したファイルを探して削除する
バッチファイル(~.bat)
call "C:\Windows\SysWow64\wscript.exe" "C:\~~\backup_delete.vbs"
・・・
バッチファイルから呼び出すVBScript(~.vbs)
' 特定日数以前の日付を取得
' 180日より前のファイルを削除する
date_before = DateAdd("d",-180,DATE())
date_before = replace(date_before,"/","")
set fso = CreateObject("Scripting.FileSystemObject")
' フォルダパスを記載。
basepath = "C:\~~"
set folder = fso.getFolder(basepath)
' 以前のファイルを削除する
dim file
for each file in folder.files
delete_file_path = basepath & "\" & file.name
If CLng(fso.GetBaseName(delete_file_path)) < CLng(date_before) Then
fso.DeleteFile delete_file_path
End If
next