'*** v4.6 *** www.dieseyer.de ******************************* ' ' Datei: DateienAltDeleteTyp.vbs ' Autor: dieseyer@gmx.de ' Auf: www.dieseyer.de ' ' Löscht alle Dateien mit einer bestimmten Erweiterung, die ' seit einem bestimmten Datum nicht mehr geändert wurden ' '************************************************************ Option Explicit Dim Pfad, Alter, DateiTyp DateiTyp = "rex" DateiTyp = "cmd" DateiTyp = UCase(DateiTyp) Pfad = "d:\setup" Pfad = "." ' Verzeichnis, in dem sich das Skript befindet, Skript wird also auch gelöscht Pfad = "c:\temp" Alter = 365 ' Dateien, die seit xxx Tagen nicht geändert wurden MsgBox AltesLoeschen (Pfad, Alter ) 'Function Aufruf und Ergebnisanzeige AltesLoeschen "c:\temp", 100 'Function Aufruf OHNE Ergebnisanzeige ' ~~~~~~ WScript.Quit '*** v4.6 *** www.dieseyer.de ******************************* Function AltesLoeschen (Pfad, Alter) ' Anfang '************************************************************ Dim fso, oFiles, i, Txt Alter = FormatDateTime( now() - Alter ,2) Set fso = WScript.CreateObject("Scripting.FileSystemObject") if not fso.FolderExists( Pfad ) then MsgBox UCase(Pfad) & " existiert nicht!", , WScript.ScriptName Exit Function End If AltesLoeschen = "In " & UCase( Pfad ) & " wurden vor dem " & Alter & " geändert Dateien gelöscht." & vbCRLF & vbCRLF Set oFiles = fso.GetFolder( Pfad ).Files For Each i In oFiles if DateDiff("d" , i.DateLastModified, Alter) > 0 then ' vor dem Alter geänderte Dateien Txt = i.path ' nach dem Löschen von i.Path ist auch i.Path gelöscht AltesLoeschen = AltesLoeschen & i.Name & " " & vbTab & FormatDateTime( i.DateLastModified ,2) On Error Resume Next if UCase( fso.GetExtensionName(i.Name) ) = DateiTyp then fso.DeleteFile i.path, True End if On Error GoTo 0 If not fso.FileExists( Txt ) Then AltesLoeschen = AltesLoeschen & vbCRLF Else AltesLoeschen = AltesLoeschen & " nicht gelöscht." & vbCRLF End if End If Next Set oFiles = nothing Set fso = nothing End Function ' AltesLoeschen (Pfad, Alter) ' Ende