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
Please also mark the comments that contributed to the solution of the article
Content-Key: 111533
Url: https://administrator.de/contentid/111533
Printed on: April 20, 2024 at 00:04 o'clock
10 Comments
Latest comment
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