BloodySword 10 Geschrieben 22. Dezember 2008 Melden Geschrieben 22. Dezember 2008 Hallo, ich möchte gerne per BATCH und möglichst mit Bordmitteln und ohne VBS/JS Dateien löschen, die älter sind als das angegebene Datum oder Zeitspanne. Dazu habe ich folgenden Thread gefunden: http://www.mcseboard.de/windows-forum-allgemein-28/gezieltes-loeschen-ordnern-dateien-109911.html Leider hilft mir das nicht wirklich weiter. Ich lasse Backups erstellen in Form von RAR-Dateien. Wenn die existierenden älter sind als 2 Monate sollen sie gelöscht werden, um Speicherplatz zu sparen. Danke im Vorraus! Zitieren
Racer1000 10 Geschrieben 22. Dezember 2008 Melden Geschrieben 22. Dezember 2008 Hallo BloodSword Schau dir mal das Tool Robocopy von Microsoft an. Das kann genau das was Du machen willst. Racer Zitieren
GuentherH 61 Geschrieben 22. Dezember 2008 Melden Geschrieben 22. Dezember 2008 Hallo. Schau dir mal das Tool Robocopy von Microsoft an ... und hier ein Beispiel dazu - : www.SBSPraxis.de, Automatisches Bereinigen der LOG Verzeichnisse auf einem SBS 2003 Server : LG Günther Zitieren
NilsK 2.982 Geschrieben 22. Dezember 2008 Melden Geschrieben 22. Dezember 2008 Moin, ... und falls es doch was mit Skript sein darf: faq-o-matic.net Alte Dateien löschen Gruß, Nils Zitieren
BloodySword 10 Geschrieben 22. Dezember 2008 Autor Melden Geschrieben 22. Dezember 2008 Da gefällt mir dann doch die Variante von NilsK besser, da ich dann keine extra .exe brauche. Option Explicit Dim intZahl ' Dim strExtension ' Dim intTage ' Dim objDatei ' Dim objFSO ' Dim objOrdner ' Dim strOrdner ' Set objFSO = CreateObject("Scripting.FileSystemObject") strOrdner = command$ strExtension = "exe" intTage = 56 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 WScript.Echo "Lösche " & objDatei.name intZahl = intZahl + 1 End If Next So richtig? Zitieren
NilsK 2.982 Geschrieben 22. Dezember 2008 Melden Geschrieben 22. Dezember 2008 Moin, strOrdner = command$[...] So richtig? nö. strOrdner sollte schon den absoluten Pfad enthalten und muss darüber hinaus den Wert in Anführungsstrichen haben (siehe die Vorlage). Sonst sollte es laufen. Ach so, und du solltest es mit cscript aufrufen, sonst wirst du ziemlich viele Boxen wegklicken müssen. Gruß, Nils Zitieren
BloodySword 10 Geschrieben 22. Dezember 2008 Autor Melden Geschrieben 22. Dezember 2008 Klar lasse ich es mit cscript... Hab's nun raus. Es sollte nämlich alles per Script-Argumente einlesen: Option Explicit Dim intZahl Dim strExtension Dim intTage Dim objDatei Dim objFSO Dim objOrdner Dim strOrdner Set objFSO = CreateObject("Scripting.FileSystemObject") strOrdner = Wscript.Arguments(0) strExtension = Wscript.Arguments(1) intTage = Wscript.Arguments(2) 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 WScript.Echo "Lösche " & objDatei.name intZahl = intZahl + 1 End If Next WScript.Echo intZahl & " Dateien gelöscht." Zitieren
mad-max79 11 Geschrieben 23. Dezember 2008 Melden Geschrieben 23. Dezember 2008 hi; ich kann dof empfehlen. Ist gang einfach zu konfigurieren... Link Gruß Michael Zitieren
BloodySword 10 Geschrieben 23. Dezember 2008 Autor Melden Geschrieben 23. Dezember 2008 Das Tool ist auch interessant. Werde ich mir auch mal ansehen ^^. Zitieren
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.