Für wiederkehrende Aufgaben schreibe ich mir häufig Batch-Dateien und lasse diese dann durch den Aufgabenplaner ausführen. So auch für ein ganz einfaches Backup, dass mir täglich die wichtigsten Files zippt und auf gemapptes Laufwerk schiebt. Dafür ist es hilfreich, den Dateinamen mit einem Datum zu versehen.
Per
echo %date%
kann man sich in der Konsole das aktuelle Datum ausgeben lassen. Allerdings besteht auch die Möglichkeit, sich ein anderes Format via Substrings zusammen zu bauen:
echo %date:~6,4%%date:~3,2%%date:~0,2%
Bei einem Eingangsdatum 09.02.2017
entspräche das dann der Formatierung YYYYmmdd und einer entsprechenden Ausgabe von 20170209
.
Verpackt in ein kleines Batch-Script, das oben beschriebenes Szenario mittels 7-Zip realisiert und als Parameter das Zielverzeichnis entgegen nimmt, kann das so aussehen:
rem echo %date% -> 09.02.2017
set BACKUPNAME=%date:~6,4%%date:~3,2%%date:~0,2%-backup.7z
set TARGETPATH=%1\%BACKUPNAME%
7z a -t7z -spf %TARGETPATH% -ir@filelist.txt
Das Script geht davon aus, dass im selben Verzeichnis eine Datei filelist.txt
liegt, welche alle zu sichernden Dateien und Verzeichnisse enthält. Der Inhalt sieht dann in etwa so aus:
C:\Projekte\*
C:\Beispiele\*
C:\Temp\eine-bestimmte-datei.txt
Viel Spaß :)