Sicherung mittels Batch-Datei durchführen
Löschen vorhandener alter Sicherungsdateien
Ich möchte ein Verzeichnis eines Fileservers mittels XCOPY-Befehl täglich auf eine externe Festplatte sichern.
Dies habe ich auf einem Client der immer läuft über "Geplante Tasks" unter Windows XP eingestellt.
copy.cmd wird täglich um 19.00 Uhr ausgeführt.
Befehl der copy.cmd ==> C:\daten\copy1.cmd >C:\daten\%date%.log
Befehl der copy1.cmd ==> xcopy X:\daten\datenpfad\* d:\daten\%date%\* /s/e /y
Der Kopiervorgang funktioniert. Es wird täglich ein neuer Ordner angelegt mit dem aktuellen Tagesdatum
Jetzt meine Frage: Wie kann ich vor dem täglichen kopieren alle Ordner auf der externen Festplatte löschen, deren Name (Datum) älter als eine Woche ist?
Herzlichen Dank bereits im Voraus.
Ich möchte ein Verzeichnis eines Fileservers mittels XCOPY-Befehl täglich auf eine externe Festplatte sichern.
Dies habe ich auf einem Client der immer läuft über "Geplante Tasks" unter Windows XP eingestellt.
copy.cmd wird täglich um 19.00 Uhr ausgeführt.
Befehl der copy.cmd ==> C:\daten\copy1.cmd >C:\daten\%date%.log
Befehl der copy1.cmd ==> xcopy X:\daten\datenpfad\* d:\daten\%date%\* /s/e /y
Der Kopiervorgang funktioniert. Es wird täglich ein neuer Ordner angelegt mit dem aktuellen Tagesdatum
Jetzt meine Frage: Wie kann ich vor dem täglichen kopieren alle Ordner auf der externen Festplatte löschen, deren Name (Datum) älter als eine Woche ist?
Herzlichen Dank bereits im Voraus.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 57879
Url: https://administrator.de/forum/sicherung-mittels-batch-datei-durchfuehren-57879.html
Ausgedruckt am: 12.04.2025 um 05:04 Uhr
5 Kommentare
Neuester Kommentar

etwas ähnliches wurde hier schon mehrfach gefragt. Hast Du dich schon mal umgeschaut?
z.Bsp.
oder
Löschen anhand des Datums
und nicht zuletzt im Tutorial von "Biber"
z.Bsp.
oder
Löschen anhand des Datums
und nicht zuletzt im Tutorial von "Biber"
einfach wäre es so:
- für jeden Wochentag einen Ordner anlegen
- den Wochentag beim aufruf des jobs mit übergeben und im Script als variable verwenden
dann kannst Du den entsprechenden Wocherntagsordner erst leeren und anschliessend sichern
oder Du leerst ihn nicht und sicherst kummulativ ....oder oder oder...
- für jeden Wochentag einen Ordner anlegen
- den Wochentag beim aufruf des jobs mit übergeben und im Script als variable verwenden
dann kannst Du den entsprechenden Wocherntagsordner erst leeren und anschliessend sichern
oder Du leerst ihn nicht und sicherst kummulativ ....oder oder oder...
Moin rbpn,
auch ich bin mir relativ sicher, dass hier in diesem Forum mindestens ein halbes Dutzend von der Strategie her vollkommen verschiedene funktionierende Lösungswege gepostet oder eben auch im Dialog miteinander entwickelt oder verfeinert worden sind.
Zwei oder drei Sachen an Deiner Frage verstehe ich daher nicht ganz (oder bin nicht recht gewillt, das unkommentiert zu lassen):
[Anmerkung: Ich habe keine der Fragen mit "WTF" eingeleitet, wie es mein erster Impuls war...]
Und den Einwand...
Nach Deinen Beispielen oben im Eröffnungsthread sind es doch Nutella-Ordner. Ist doch drin, was auch draufsteht.
Das heißt, ein Ordner "30.04.2007" ist auch am 30.04.2007 angelegt worden.
Von daher kannst Du schon über das Erstellungsdatum gehen.
Wenn Du NICHT über ein (zu berechnendes) Datum gehst, empfehle ich Dir eine Strategie wie von MoeSzylyk gepostet.
Wenn Du über einen Datumsvergleich (Erstellungsdatum der Ordner) gehst, aber nur einen "einfachen" Befehl dafür haben willst, empfehle ich Zusatzutilitys
Nach wie vor am Sinnvollsten ist meiner Meinung nach aber die Auseinandersetzung mit den bereits vorhandenen Skript-Lösungen. Sind schöne Ansätze für häufige Btach-Klippen dabei.
Gruss
Biber
auch ich bin mir relativ sicher, dass hier in diesem Forum mindestens ein halbes Dutzend von der Strategie her vollkommen verschiedene funktionierende Lösungswege gepostet oder eben auch im Dialog miteinander entwickelt oder verfeinert worden sind.
Zwei oder drei Sachen an Deiner Frage verstehe ich daher nicht ganz (oder bin nicht recht gewillt, das unkommentiert zu lassen):
- Du hast Dir doch selbst diese "Ich-sichere-Täglich-einen-neuen-%date%-Ordner"-Mimik ausgedacht. Wieso war das Löschen der "älteren" Ordner nicht von Anfang an mit vorgesehen?
- Meinst Du, wenn es "irgendeine ganz einfache Möglichkeit z.B. mit dem Befehl RMDIR" gäbe, dann würde es so viele Skripte, Utilities und Forumsfragen dazu geben?
[Anmerkung: Ich habe keine der Fragen mit "WTF" eingeleitet, wie es mein erster Impuls war...]
Und den Einwand...
bezieht sich nicht auf das Erstellungs- oder Änderungsdatum sondern auf den Verzeichnisnamen (z.B. 30.04.2007)
Muß da dann nicht der Verzeichnisname erst in Datumsformat umgesetzt werden, damit man diesen auswerten kann?
...das verstehe ich nicht.Muß da dann nicht der Verzeichnisname erst in Datumsformat umgesetzt werden, damit man diesen auswerten kann?
Nach Deinen Beispielen oben im Eröffnungsthread sind es doch Nutella-Ordner. Ist doch drin, was auch draufsteht.
Das heißt, ein Ordner "30.04.2007" ist auch am 30.04.2007 angelegt worden.
Von daher kannst Du schon über das Erstellungsdatum gehen.
Wenn Du NICHT über ein (zu berechnendes) Datum gehst, empfehle ich Dir eine Strategie wie von MoeSzylyk gepostet.
Wenn Du über einen Datumsvergleich (Erstellungsdatum der Ordner) gehst, aber nur einen "einfachen" Befehl dafür haben willst, empfehle ich Zusatzutilitys
- an erster Stelle immer DelAge32 von Horst Schaeffer (siehe in Links unter Batch)
- oder für ausgefallene Geschmäcker die ForFiles.exe vom sympathatischen Weltmarktführer (in irgendeinem ResKit)
- oder wie oben gepostet ähnliche Utilitys mit Namen wie XDel.exe, XDelete.exe, XErase....
Nach wie vor am Sinnvollsten ist meiner Meinung nach aber die Auseinandersetzung mit den bereits vorhandenen Skript-Lösungen. Sind schöne Ansätze für häufige Btach-Klippen dabei.
Gruss
Biber