Chack 10 Geschrieben 1. März 2012 Melden 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
Schranz 10 Geschrieben 1. März 2012 Melden Geschrieben 1. März 2012 Ich würde sagen das Zauberwort heisst rekursiv. Programmcode müsste ich aber auch googlen.
NilsK 3.046 Geschrieben 1. März 2012 Melden 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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden