Einmal wöchentlich sichern Sie den gesamten Inhalt Ihres Dokumenten-Verzeichnisses auf eine externe Festplatte. Um ganz auf Nummer sicher zu gehen, kopieren Sie laufende Projekte zusätzlich täglich in einen weiteren Sicherungsordner. Nach und nach sammeln sich so viele Verzeichnisse an, die Sie ab dem nächsten umfassenden Backup nicht mehr brauchen. Also weg damit – am besten automatisch und zeitgesteuert.

Um die Aufgabe zu automatisieren benutzen Sie ein VBS-Skript, das das Alter der betreffenden Ordner ermittelt und sie dann selektiv löscht. Mit dem Taskplaner sorgen Sie noch dafür, dass Windows das Skript automatisch ausführt. Geben Sie in einen Text- Editor folgenden VBS-Code ein:

Dim i, fso, flag, f, ff, sf, Pfad, Alter, MinAlter, fNameArray()
If WScript.Arguments.Count =0 Then
Pfad = InputBox("Kompletten Pfad zumBasisordner eingeben: ")
MinAlter = InputBox("Mindestalter zu löschender Ordner in Tagen Eingeben: ")
Else
Pfad = WScript.Arguments(0)
MinAlter = WScript.Arguments(1)
End If
flag=0
If instr(Pfad,"Windows") then flag=1
If instr(Pfad,"Programme") then flag=1
If (Pfad="C:") or (Pfad="C:\") then flag=1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(Pfad)
Set sf = f.SubFolders
For Each ff in sf
Alter = DateDiff("d",ff.DateCreated,Now)
If Alter-MinAlter > 0 then
ReDim preserve fNameArray(i)
fNameArray(i) = ff.Name
i = i + 1
end if
Next
If flag=0 then
For Each ff in fNameArray
FSO.DeleteFolder(Pfad & "\" & ff)
Next
End If

Speichern Sie das Skript beispielsweise als “alteordner.vbs” im Windows-Ordner. Für einen automatischen Aufruf übergeben Sie den vollständigen Pfad zum Basisordner sowie das Mindestalter der zu löschenden Ordner in Tagen als Argument, also etwa

alteordner.vbs D:\Sicherung 8

Diesen Befehl können Sie beispielsweise mit dem Taskplaner oder im Autostart von Windows beim Booten ausführen lassen.

ACHTUNG: Prüfen Sie die angegebenen Pfade lieber einmal zu viel als zu wenig und probieren Sie die Funktion des Skripts zuerst in einem temporären Ordner aus. Denn bei fehlerhaften Eingaben löscht das Skript alle betroffenen Ordner ohne Rückfrage. Für Programmierer erläutern wir noch die Funktion des Beispielskripts: Zunächst prüft es, ob Sie die erforderlichen Argumente beim Aufruf übergeben haben. Wenn nicht, fordert es in einem Dialog die Eingabe des Basisordners, der die zu löschenden Unterordner enthält, sowie das Mindestalter, ab dem Sie die Ordner löschen möchten.

Definierte Ausnahmen verhindern, dass das Skript wichtige Systemordner löscht. Dazu analysiert es den Pfad und setzt den Schalter “flag” bei Übereinstimmung auf “1″. Diese Zeilen können Sie anpassen und erweitern. Danach liest das Skript alle Unterordner des übergebenen Pfades aus und berechnet jeweils deren Alter. Wenn das Alter den vorgegebenen Wert überschreitet, speichert das Skript den Namen des Unterordners in einem Array und vergrößert es. Schließlich löscht der letzte Abschnitt alle im Array erfassten Unterordner, sofern der Schalter “flag” das Löschen erlaubt.

Ähnliche Beiträge: