Chack 10 Geschrieben 1. März 2012 Melden Teilen Geschrieben 1. März 2012 Hallo Leute, ich müsste gelegentlich Logs löschen. Nun bin ich auf folgendes Script gestoßen. Option Explicit Dim intZahl ' Dim strExtension ' Dim intTage ' Dim objDatei ' Dim objFSO ' Dim objOrdner ' Dim strOrdner ' Set objFSO = CreateObject("Scripting.FileSystemObject") strOrdner = "L:" strExtension = "" intTage = 1 Set objOrdner = objFSO.GetFolder(strOrdner) intZahl = 0 For Each objDatei In objOrdner.Files If LCase(Right(objDatei.name, Len(strExtension))) = LCase(strExtension) _ And DateDiff("d", objDatei.DateLastModified, Now) > intTage Then objDatei.Delete intZahl = intZahl + 1 End If Next WScript.Echo intZahl & " Dateien gelöscht." Das Problem was ich habe ist das nur die Dateien auf der ersten Ebene gelöscht werden. Wie bekomme ich es hin das der auch in Unterordner schaut und dort Dateien löscht. Vielen Dank im Vorraus Zitieren Link zu diesem Kommentar
Schranz 10 Geschrieben 1. März 2012 Melden Teilen Geschrieben 1. März 2012 Ich würde sagen das Zauberwort heisst rekursiv. Programmcode müsste ich aber auch googlen. Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 1. März 2012 Melden Teilen Geschrieben 1. März 2012 Moin, und beim nächsten Mal wäre es schön, wenn du die Quelle des Skripts mit angibst. Das Skript habe ich absichtlich so angelegt, dass es nur eine Ebene bearbeitet. Mit Scripting-Kenntnissen ist es nicht schwer, es auf Rekursion umzubauen. Du wirst aber sicher eine Reihe fertiger Lösungen finden, die dir sowas ermöglichen. Gruß, Nils Gruß, Nils Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.