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-Key: 20436

Url: https://administrator.de/contentid/20436

Printed on: April 24, 2024 at 22:04 o'clock

Member: dievonnebenan
dievonnebenan Nov 28, 2005 at 18:19:10 (UTC)
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
Member: Biber
Biber Dec 02, 2005, updated at Oct 18, 2012 at 15:55:17 (UTC)
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
Member: dievonnebenan
dievonnebenan Dec 05, 2005 at 09:35:16 (UTC)
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
Member: Biber
Biber Dec 05, 2005 at 10:25:53 (UTC)
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
Member: dievonnebenan
dievonnebenan Dec 05, 2005 at 17:33:06 (UTC)
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
Member: Biber
Biber Dec 05, 2005 at 20:47:02 (UTC)
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