dondy Geschrieben 16. Januar 2009 Geschrieben 16. Januar 2009 Guten Tag, ich bin auf der Suche nach einem Skript oder Tool, mit dem ich in der Lage bin Ordner zu löschen die älter als 14 Tage sind. Ein Tool für Dateien (DelAge32) habe ich, aber mir wäre es lieber wenn ich direkt das ganze Verzeichnis mit wegschmeißen kann. Kennt da einer was?
Gast Hornochse Geschrieben 16. Januar 2009 Geschrieben 16. Januar 2009 Hallo dondy, dieser Ausschnitt eines vbs-Scripts läuft auf unserem Backup-Server und wird per geplanten Task automatisch ausgeführt. Hier der vbs-Code: Option Explicit Dim intZahl ' Dim strExtension ' Dim intTage ' Dim objDatei ' Dim objFSO ' Dim objOrdner ' Dim strOrdner ' '======================================== 'Sicherungen <Ordnername> werden gelöscht '======================================== Set objFSO = CreateObject("Scripting.FileSystemObject") strOrdner = "<Ordnerpfad>" strExtension = "" intTage = <Anzahl der Tage nachdem der Ordner gelöscht wird> 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." Einfach diesen Text als "blabla.vbs" abspeichern und ausführen. Achtung: <Ordnername>, <Ordnerpfad> und <Anzahl der Tage nachdem der Ordner gelöscht wird> müssen durch die richtigen Werte ersetzt werden. Grüße Alexander
Zepho Geschrieben 16. Oktober 2009 Geschrieben 16. Oktober 2009 Hey Hornoche (wie kommt man auf denNamen??), hätte da ne Frage zu deinem Script. Wertet das jedes Datum der eigenen Dateien einzeln aus? Oder schaut es nur das Datum des Ordners und schaut nicht weiter rein, wenn der noch zu neu ist? Wir erstellen hier für jede Sicherung einen Ordner, die zu sichernden Daten behalten aber ihr original-Datum, damit im Falle einer Rücksicherung das ganze wieder paßt. Und ich möchte halt mit dem Script automatisch den ältesten Sicherungsordner rauswerfen, damit Platz für den neuen ist. Bisher hab ich das immer per Hand gemacht, vor jedem Wochenende. Aber sowas kann man ja auch mal vergessen, oder für nen Krankheitsfall oder sowas... CU zepho
Fighter91 Geschrieben 5. Mai 2011 Geschrieben 5. Mai 2011 Ich weiß das das Thema schon steinalt ist, aber bin gerade am selben problem! das oben genannte script funktioniert nicht und mim umschreiben hab ich ein paar probleme... Ziel ist es Ordner samt Unterordner...Dateien nach Datum zu löschen!
zeitzi Geschrieben 5. Mai 2011 Geschrieben 5. Mai 2011 DateDiff("d", objDatei.DateLastModified, Now) > intTage Then objDatei.Delete damit löscht er die dateien, die 14 tage älter sind (wenn du es denn oben mit 14 tagen angegben hast)
Fighter91 Geschrieben 5. Mai 2011 Geschrieben 5. Mai 2011 Dateien löschen ist kein problem und hab ich auch schon gestern erledigt. ich muss jetzt allerdings komplette Ordner löschen die älter als X Tage sind!
Fighter91 Geschrieben 5. Mai 2011 Geschrieben 5. Mai 2011 so schaut mein code momentan aus: Option Explicit Dim intZahl Dim strExtension Dim intTage Dim objsubfolder Dim objFSO Dim objOrdner Dim strOrdner Set objFSO = CreateObject("Scripting.FileSystemObject") strOrdner = "C:\Users\SPapenfuss\Documents\" intTage = 14 Set objOrdner = objFSO.GetFolder(strOrdner) intZahl = 0 For Each objsubfolder In objOrdner.SubFolders If DateDiff("d", objsubfolder.DateLastModified, Now) > intTage Then objsubfolder.Delete intZahl = intZahl + 1 End If Next WScript.Echo intZahl & " Ordner gelöscht."
mamamia Geschrieben 6. Mai 2011 Geschrieben 6. Mai 2011 Und hier mal wieder ein kleiner Ausritt in die Powershellwelt: $Folder = deinordner $Now = Get-Date $DateDiff = $Now.AddDays(-14) Get-ChildItem $Folder | Where-Object { $_.LastWriteTime -le $DateDiff} | Remove-Item -Recurse
Fighter91 Geschrieben 6. Mai 2011 Geschrieben 6. Mai 2011 so wirklich schlau werd ich daraus jetzt nicht, wäre nett wenn du es noch ein bisschen erklären könntest. Aber trotzdem danke für die Antwort =)
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