masalibの日記

システム開発、運用と猫の写真ブログです

フォルダ内のファイルを削除(from~toを複数)

単純なfrom~toでも指定できないファイル削除があった・・・
ファイル数が万を超えてかつ数百のフォルダだった
GUIでは無理だった
Windowsなのでvbsで無理やり削除した
二度とやりたくない・・・ (´;ω;`)

Option Explicit

'// INIT
Dim FSO
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")

FindFolder FSO.GetFolder(".")

'// 後処理
Set FSO = Nothing


Sub FindFolder(ByVal objMainFolder)
    Dim objSubFolder
    Dim objFile

    '// フォルダがあれば再帰
    For Each objSubFolder In objMainFolder.SubFolders
        FindFolder objSubFolder
    Next

    For Each objFile In objMainFolder.files

            if (  "2010/02/02 00:00:00" <= objFile.DateLastModified and objFile.DateLastModified <= "2010/12/30 00:00:00" ) Then
                WScript.Echo  "delete:"  & vbTab & objFile.Name & vbTab & objFile.DateLastModified
                objFile.delete 
            End IF
            if (  "2011/02/02 00:00:00" <= objFile.DateLastModified and objFile.DateLastModified <= "2011/12/30 00:00:00" ) Then
                WScript.Echo  "delete:"  & vbTab & objFile.Name & vbTab & objFile.DateLastModified
                objFile.delete 
            End IF
    Next
End Sub