Kopieren und Löschen mit Batch Datei
Hallo Zusammen
Trotz Suche auf dem Forum, fand ich leider noch keine Antwort zu meinem Problem:
Ich möchte ein tägliches Backup von 6 Dateien (unterschiedliche Namen und Endungen) in einem Ordner mit dem aktuellem Datum erstellen. Dies klappt auch wunderbar mit xcopy und eurer Hilfe.
Jedoch möchte ich nach einer Woche die Dateien löschen um nicht die Harddisk vollzustopfen. Dazu habe ich das Program delage32 gefunden, was auch funktioniert.
Jedoch kann der Fall eintretten, dass die Dateien seit über eine Woche nicht bearbeitet worden sind, somit ist das Datum älter als die 7 Tage und delage32 löscht diese und es bleibt nur der von xcopy erstelle leere Ordner übrig...
Das wäre natürlich nicht wünschenswert!!!
Gibt es eine Möglichkeit mit xcopy jeweils das Datum der Datei zu ändern oder gibt es Einstellungsmöglichkeiten bei delage32 so das jeweils nur das Datum des Ordner berücksichtig wird???
Ich hoffe ich habe mich verständlich ausgedrückt?!
wünsche allen noch nen schönen Tag und herzlichen Dank schonmal
Gruess
Trotz Suche auf dem Forum, fand ich leider noch keine Antwort zu meinem Problem:
Ich möchte ein tägliches Backup von 6 Dateien (unterschiedliche Namen und Endungen) in einem Ordner mit dem aktuellem Datum erstellen. Dies klappt auch wunderbar mit xcopy und eurer Hilfe.
Jedoch möchte ich nach einer Woche die Dateien löschen um nicht die Harddisk vollzustopfen. Dazu habe ich das Program delage32 gefunden, was auch funktioniert.
Jedoch kann der Fall eintretten, dass die Dateien seit über eine Woche nicht bearbeitet worden sind, somit ist das Datum älter als die 7 Tage und delage32 löscht diese und es bleibt nur der von xcopy erstelle leere Ordner übrig...
Das wäre natürlich nicht wünschenswert!!!
Gibt es eine Möglichkeit mit xcopy jeweils das Datum der Datei zu ändern oder gibt es Einstellungsmöglichkeiten bei delage32 so das jeweils nur das Datum des Ordner berücksichtig wird???
Ich hoffe ich habe mich verständlich ausgedrückt?!
wünsche allen noch nen schönen Tag und herzlichen Dank schonmal
Gruess
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 73183
Url: https://administrator.de/forum/kopieren-und-loeschen-mit-batch-datei-73183.html
Ausgedruckt am: 19.05.2025 um 20:05 Uhr
2 Kommentare
Neuester Kommentar
Hallo chariman und willkommen im Forum!
Soferne ich Dich richtig verstanden habe, möchtest Du eigentlich die 7 jeweils aktuellsten Sicherungsordner (unabhängig vom Alter) behalten und alle anderen löschen. Dies ließe sich etwa so realisieren:
Da Du keine näheren Informationen über den von Dir verwendeten "xcopy"-Befehl gegeben hast, habe ich diesen einfach durch eine Reihe von "copy"-Befehlen simuliert.
Die "for"-Schleife am Ende liest das Inhaltsverzeichnis des Sicherungsordners "D:\Sicherungen" (und davon nur die Ordner) in zeitlich absteigender Reihenfolge aus (also neueste Ordner zuerst) und überspringt die gewünschte Anzahl zu behaltender Ordner. Alle weiteren werden gelöscht.
Grüße
bastla
Soferne ich Dich richtig verstanden habe, möchtest Du eigentlich die 7 jeweils aktuellsten Sicherungsordner (unabhängig vom Alter) behalten und alle anderen löschen. Dies ließe sich etwa so realisieren:
@echo off & setlocal
set "Ziel=D:\Sicherungen"
set /a Anzahl=7
set Dat=%date:~-4%-%date:~-7,2%-%date:~-10,2%
if not exist "%Ziel%\%Dat%" md "%Ziel%\%Dat%"
copy Datei1.typ "%Ziel%\%Dat%\">nul
...
copy Datei6.typ "%Ziel%\%Dat%\">nul
for /f "skip=%Anzahl% delims=" %%i in ('dir /b /ad /o-d "%Ziel%"') do rd /s /q "%Ziel%\%%i"
Da Du keine näheren Informationen über den von Dir verwendeten "xcopy"-Befehl gegeben hast, habe ich diesen einfach durch eine Reihe von "copy"-Befehlen simuliert.
Die "for"-Schleife am Ende liest das Inhaltsverzeichnis des Sicherungsordners "D:\Sicherungen" (und davon nur die Ordner) in zeitlich absteigender Reihenfolge aus (also neueste Ordner zuerst) und überspringt die gewünschte Anzahl zu behaltender Ordner. Alle weiteren werden gelöscht.
Grüße
bastla