Nach Datum in Unterordnern löschen
Sie haben in der c't 9/03, S. 214 ein Skript veröffentlicht, mit dem man Dateien löschen kann, die etwa älter als drei Tage sind. Lässt sich das Skript auch so anpassen, dass es alte Files in Unterordnern löscht?
Sie haben in der c't 9/03, S. 214 ein Skript veröffentlicht, mit dem man Dateien löschen kann, die etwa älter als drei Tage sind. Lässt sich das Skript auch so anpassen, dass es alte Files in Unterordnern löscht?
Klar, es sieht dann so aus:
' hier eigenen BedĂĽrfnissen anpassen
Verzeichnis = "C:\Bilder" ' Hier wird gelöscht!
Aufheben = 31 ' Anzahl der Tage
' Ende der Anpassungen
Set fso = CreateObject("Scripting.FileSystemObject")
Set ordner = fso.GetFolder(Verzeichnis)
heute = Date()
DeleteInFolder(ordner)
Sub DeleteInFolder(ordner)
Set dateien = ordner.Files
' Alle Dateien in diesem Ordner abklappern
For Each datei In dateien
If datei.DateLastModified < (heute - Aufheben) Then
datei.Delete
End If
Next
Set untere = ordner.SubFolders
'Unterordner abklappern, DeleteInFolder rekursiv aufrufen
For Each unter In untere
DeleteInFolder(unter)
Next
End Sub
Speichern Sie das Skript als Textdatei mit der Endung .vbs. Wenn Sie das Skript noch weiter aufbohren wollen, finden Sie übrigens die nötige Dokumentation zum Windows Script Host unter http://msdn.microsoft.com/library/en-us/script56/html/wsoriWindowsScriptHost.asp.
Um das Skript automatisch, etwa einmal am Tag, laufen zu lassen, fügen Sie es in der Systemsteuerung bei „Geplante Tasks“ hinzu. Im Explorer starten Sie es wie ein Programm per Doppelklick. (hos)
(hos)