dateien zu ZIP hinzufügen anhand des Änderungsdatums
Hallo,
in einem Verzeichnis befinden sich mehrere Sicherungsdateien mit Sicherungsdatum versehen. Wo auch regelmäßig neue hinzugefügt werden.
Diese lasse ich in intervallen in ZIPs verschieben.
c:\programme\winzip\wzzip /m /u /yb /p d:\Sicherung\gezippt\Sicherung_%date%.zip d:\sicherung\*.*
Das geht auch alles ohne Probleme.
Manchmal bleiben vom Vortag aber noch ein paar Sicherungsdateien übrig, die dann in ein ZIP des aktuellen Datums verschoben wird.
Kann man das Änderungsdatum der Dateien auslesen und dem dazugehörigen gestrigen ZIP noch hinzufügen? Damit alles zusammen für einen Tag abgelegt ist.
Gruß
Zunaras
in einem Verzeichnis befinden sich mehrere Sicherungsdateien mit Sicherungsdatum versehen. Wo auch regelmäßig neue hinzugefügt werden.
Diese lasse ich in intervallen in ZIPs verschieben.
c:\programme\winzip\wzzip /m /u /yb /p d:\Sicherung\gezippt\Sicherung_%date%.zip d:\sicherung\*.*
Das geht auch alles ohne Probleme.
Manchmal bleiben vom Vortag aber noch ein paar Sicherungsdateien übrig, die dann in ein ZIP des aktuellen Datums verschoben wird.
Kann man das Änderungsdatum der Dateien auslesen und dem dazugehörigen gestrigen ZIP noch hinzufügen? Damit alles zusammen für einen Tag abgelegt ist.
Gruß
Zunaras
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 111533
Url: https://administrator.de/forum/dateien-zu-zip-hinzufuegen-anhand-des-aenderungsdatums-111533.html
Ausgedruckt am: 05.04.2025 um 23:04 Uhr
10 Kommentare
Neuester Kommentar

Moin,
im "einfachsten" Fall einfach deine Zip Zeile benutzen und danach ein:
if exist laufwerk:\pfad\zuzippende_dateien.suffix goto zipzeile
Wäre wohl einfacher.
Also:
Gruß
im "einfachsten" Fall einfach deine Zip Zeile benutzen und danach ein:
if exist laufwerk:\pfad\zuzippende_dateien.suffix goto zipzeile
Wäre wohl einfacher.
Also:
:zip
start /wait c:\programme\winzip\wzzip /m /u /yb /p d:\Sicherung\gezippt\Sicherung_%date%.zip d:\sicherung\*.*
if exist d:\sicherung\*.* goto zip

hi,
"Schleife" - yupp das "kommt" davon
. und .. sind ja in jedem Ordner vorhanden und zählen logischerweise auch zu *.* *merde* && mea Culpa
..sollte dann besser funktionieren.
Gruß
edit
ich schau nachher nochmal vorbei - es geht auch "schöner"
/edit
"Schleife" - yupp das "kommt" davon
. und .. sind ja in jedem Ordner vorhanden und zählen logischerweise auch zu *.* *merde* && mea Culpa
:zip
start /wait c:\programme\winzip\wzzip /m /u /yb /p d:\Sicherung\gezippt\Sicherung_%date%.zip d:\sicherung\*.*
dir d:\sicherung\*.*|find "0 Datei(en) && goto end
echo es wurden noch Dateien gefunden && goto zip
:end
Gruß
edit
ich schau nachher nochmal vorbei - es geht auch "schöner"
/edit
Hallo Zunaras!
Weiterhin ungetestet:
Zunächst werden alle Dateien nach Änderungsdatum in entsprechende Unterordner (Name = Änderungsdatum der Datei im Format JJJJMMTT) verteilt. In der zweiten Schleife werden dann alle Inhalte der Unterordner der entsprechenden Sicherungsdatei hinzugefügt (Vorgang wird wiederholt, bis sich keine Dateien mehr im Unterordner befinden). Um den Unterordner danach zu löschen, das "REM" am Beginn der Zeile 24 entfernen.
Grüße
bastla
Weiterhin ungetestet:
@echo off & setlocal
set "Quelle=d:\sicherung"
set "Ziel=d:\Sicherung\gezippt"
pushd "%Quelle%"
for /f "delims=" %%i in ('dir /b /a-d') do call :ProcessFile "%%i"
for /d %%i in (*.*) do call :ProcessDir "%%i"
popd
goto :eof
:ProcessFile
for /f "tokens=1-3 delims=. " %%a in ("%~t1") do set "Datum=%%c%%b%%a"
if not exist "%Datum%" md "%Datum%"
move %1 "%Datum%"
goto :eof
:ProcessDir
pushd %1
set "Datum=%~nx1"
:zip
start /wait c:\programme\winzip\wzzip /m /u /yb /p "%Ziel%\Sicherung_%Datum%.zip" *.*
dir /a-d >nul 2>&1 && goto :zip
popd
REM rd %1
goto :eof
Grüße
bastla