指定されたフォルダ以下にある、フォルダやファイルの作成日を見て、規定の日付より古いモノを削除するvbsです。
'-----------------------------------
' オブジェクト定義
'-----------------------------------
dim arg
dim fso
dim subf
'
dim FileName ' ファイル名
dim FolderName ' フォルダ名
dim ArgDam ' 遡り日数
dim OldDate ' 遡り日
dim FDate ' ファイルないしフォルダの作成日
Set arg = WScript.Arguments
Set fso = CreateObject("Scripting.FileSystemObject")
'-----------------------------------
' 引数の取得
'-----------------------------------
if arg.Count < 2 then
' 引数2が取得できない場合は7をセット
ArgDam = 7
else
ArgDam = arg(1)
end if
' 引数に指定されたフォルダの情報を取得
Set subf = fso.GetFolder(arg(0))
'-----------------------------------
' 直下の各ファイル確認処理
'-----------------------------------
For Each FileName In subf.Files
' ファイル名の取得
fdate = FileName.DateCreated
' 温存と削除判定
if DateDiff("d", fdate, date) >= argdam then
' ファイル削除
fso.DeleteFile FileName
end if
Next
'-----------------------------------
' 直下の各フォルダ確認処理
'-----------------------------------
For Each FolderName In subf.Subfolders
' フォルダ名の取得
fdate = FolderName.DateCreated
' 温存と削除判定
if DateDiff("d", fdate, date) >= argdam then
' フォルダ削除
fso.DeleteFolder FolderName
end if
Next
'-----------------------------------
' オブジェクト開放
'-----------------------------------
set fso = Nothing
引数1はフォルダ名、引数2は遡り日になります。
引数2は省略が可能で、省略した場合は7がセットされます。
バッチを動かした日から7日経過していれば、
そのファイルやフォルダは削除対象ということです。