Löschroutine für Verzeichnisse
Hallo!
Ich habe mich schon durch alle Beiträge hier im Forum durch gelesen, bin aber leider zu keinem positiven Ergebnis gekommen und verzweifel fast
Ich habe Folgendes Problem: meine Batchdatei, kopiert von mehreren lokalen Rechnern aus Ordner auf einen Server in einen Ordner mit dem aktuellen Datum. Dies geschieht täglich. Ich möchte aber immer nur die letzen 5 Sicherungen haben - heißt also, sobald die 6te Sicherung erfolgt, soll die älteste Sicherung gelöscht werden. Wäre schön, wenn mir jemand mein Skript um eine einfache Löschroutine erweitern könnte.
Hier meine Batchdatei:
:: kopiert den ordner "base" auf den server "win" in einen ordner mit dem aktuellen datum (%date%)
::/s =kopiert rekursiv
::/y =überschreibt unaufgefordert schon vorhandene ordner
::/i = erstellt unaufgefordert neuen ordner, falls dieser noch nicht vorhanden
date /t
xcopy "e:\base" "\\Win\save\%date%\base" /s/y/i
vielen Dank im Voraus!
Messias
Ich habe mich schon durch alle Beiträge hier im Forum durch gelesen, bin aber leider zu keinem positiven Ergebnis gekommen und verzweifel fast
Ich habe Folgendes Problem: meine Batchdatei, kopiert von mehreren lokalen Rechnern aus Ordner auf einen Server in einen Ordner mit dem aktuellen Datum. Dies geschieht täglich. Ich möchte aber immer nur die letzen 5 Sicherungen haben - heißt also, sobald die 6te Sicherung erfolgt, soll die älteste Sicherung gelöscht werden. Wäre schön, wenn mir jemand mein Skript um eine einfache Löschroutine erweitern könnte.
Hier meine Batchdatei:
:: kopiert den ordner "base" auf den server "win" in einen ordner mit dem aktuellen datum (%date%)
::/s =kopiert rekursiv
::/y =überschreibt unaufgefordert schon vorhandene ordner
::/i = erstellt unaufgefordert neuen ordner, falls dieser noch nicht vorhanden
date /t
xcopy "e:\base" "\\Win\save\%date%\base" /s/y/i
vielen Dank im Voraus!
Messias
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 20436
Url: https://administrator.de/forum/loeschroutine-fuer-verzeichnisse-20436.html
Ausgedruckt am: 22.04.2025 um 21:04 Uhr
6 Kommentare
Neuester Kommentar
wenn du auf die datumsangabe verzichten kannst, dann wäre folgende batch vielleicht eine lösung.
rd 05 /s /q
ren 04 05
ren 03 04
ren 02 03
ren 01 02
xcopy "e:\base" "\\Win\save\01\base" /s/y/i
auf /y kannst du an sich ja verzichten, wenn du den ordner 01 eh immer neu erstellst.
würde dir aber das attribut /s für xcopy empfehlen, falls der base-order mal unterordner bekommt.
das datum findest du übrigens zur not auch in den ordnereigenschaften
mfg chris
rd 05 /s /q
ren 04 05
ren 03 04
ren 02 03
ren 01 02
xcopy "e:\base" "\\Win\save\01\base" /s/y/i
auf /y kannst du an sich ja verzichten, wenn du den ordner 01 eh immer neu erstellst.
würde dir aber das attribut /s für xcopy empfehlen, falls der base-order mal unterordner bekommt.
das datum findest du übrigens zur not auch in den ordnereigenschaften
mfg chris
Moin messias6468,
sorry für die späte Antwort - ich musste erst mal den Beitrag wiederfinden, auf den ich Dich verweisen wollte.
Die Userin domonomie hatte mal das gleiche Anliegen in dem Beitrag bestimmten Ordner per Batch löschen und damals hatte ich einen "DelOldBackupQuicknDirty.bat" gepostet, der bei Dir mit geringen Anpassungen passen sollte.
Wenn Du nicht schlau draus wirst, poste bitte nochmal (und gib Dein Datumsformat/die Sicherungsordner-Dateimaske kund).
Kannst natürlich auch posten, falls es klappt.
Schönes Wochenende
Biber
sorry für die späte Antwort - ich musste erst mal den Beitrag wiederfinden, auf den ich Dich verweisen wollte.
Die Userin domonomie hatte mal das gleiche Anliegen in dem Beitrag bestimmten Ordner per Batch löschen und damals hatte ich einen "DelOldBackupQuicknDirty.bat" gepostet, der bei Dir mit geringen Anpassungen passen sollte.
Wenn Du nicht schlau draus wirst, poste bitte nochmal (und gib Dein Datumsformat/die Sicherungsordner-Dateimaske kund).
Kannst natürlich auch posten, falls es klappt.
Schönes Wochenende
Biber
Moin chris,
nach Datum sortiert der Batch jetzt schon, nicht nach Namen.
Wenn es spreziell um das Änderungsdatum geht, was IMHO aber auch der Default ist:
dazu sollte in der DIR-Anweisung (der in der FOR-Schleife) ein zusätzlicher Parameter "/TW" reichen.
Dir ...../TW... nach Zeit des letzten Schreibzugriffs
Laut Hilfe von DIR /?:
/T Bestimmt welche Zeit verwendet wird (nur für NTFS).
Zeit C Erstellung
A Letzter Zugriff
W Letzter Schreibzugriff
HTH Biber
nach Datum sortiert der Batch jetzt schon, nicht nach Namen.
Wenn es spreziell um das Änderungsdatum geht, was IMHO aber auch der Default ist:
dazu sollte in der DIR-Anweisung (der in der FOR-Schleife) ein zusätzlicher Parameter "/TW" reichen.
Dir ...../TW... nach Zeit des letzten Schreibzugriffs
Laut Hilfe von DIR /?:
/T Bestimmt welche Zeit verwendet wird (nur für NTFS).
Zeit C Erstellung
A Letzter Zugriff
W Letzter Schreibzugriff
HTH Biber