messias6468
Goto Top

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 face-sad
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

Content-ID: 20436

Url: https://administrator.de/forum/loeschroutine-fuer-verzeichnisse-20436.html

Ausgedruckt am: 22.04.2025 um 21:04 Uhr

dievonnebenan
dievonnebenan 28.11.2005 um 19:19:10 Uhr
Goto Top
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 face-smile

mfg chris
Biber
Biber 03.12.2005, aktualisiert am 18.10.2012 um 17:55:17 Uhr
Goto Top
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
dievonnebenan
dievonnebenan 05.12.2005 um 10:35:16 Uhr
Goto Top
wirklich nette lösung, auf jeden fall besser als meine

werde mein backup darauf umbauen.

nur eins noch. wie kann ich die ordner nach dem namen statt nach änderungsdatum sortieren?

mfg chris
Biber
Biber 05.12.2005 um 11:25:53 Uhr
Goto Top
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
dievonnebenan
dievonnebenan 05.12.2005 um 18:33:06 Uhr
Goto Top
danke biber,

hatte so meine probleme, die batch von dir im kopf in sinnvolle infos aufzuteilen, aber so langsam steige ich dahinter.

chris
Biber
Biber 05.12.2005 um 21:47:02 Uhr
Goto Top
Tja, Chris,

manchmal brauche ich hier im Forum 50 Zeilen Prosa, um 5 Zeilen Batch plausibel zu machen.. muss ich wohl noch dran arbeiten face-wink

Wenn es klemmt, lass es mich wissen - ich kann mittlerweile meine Bätche fließend lesen und nachvollziehen.

Schönen Abend
Biber