Set objFSO = CreateObject("Scripting.FileSystemObject")
ret = objFso.DeleteFolder("C:\Users\***\Desktop\*",True)
このように記述したファイルを実行することで、デスクトップ上のフォルダ(内部ファイル含)の削除を行っております。
実は、全てのフォルダではなく、
「作成から7日間以上経過しているフォルダのみ削除」
というような処理にできないかと思っています。
初心者なこともあり、記述の仕方が調べきれませんでした。どうぞ宜しくお願い致します。
デスクトップ直下の作成日時を判定するなら、こんな感じでしょうか。
Set fso = CreateObject("Scripting.FileSystemObject") target_folder = "C:\Users\test\Desktop" date_now = Now For Each folder In fso.GetFolder(target_folder).SubFolders If DateDiff("h", folder.DateCreated, date_now) > 168 Then folder.Delete(True) End If Next
DateDiff を日付指定("d")で呼ぶと四捨五入されて返るので、時間で指定(168 = 24×7)しています。
階層の下にあるフォルダの作成日時も考慮するならば、仕様を決める必要があります。
Desktop ├ Folder-A 10日前 │ ├ Folder-A1 9日前 │ └ Folder-A2 2日前 :
7日以上前に作成された Folder-A の配下に、7日未満前に作成された Folder-A2 があった場合、
日付単位で作っているログを入れていくようなフォルダであれば、気にすることはないのでしょうけれど。
ありがとうございます!完璧です!
2017/05/19 05:13:17毎度のことながら、感謝致します!