Wochentag Datei weekday file script

Wie kann ich eine Sicherung nach Wochentag sortiert ablegen?

Diese Frage haben wir uns auch gestellt. Mit shell-Befehlen ist es uns nur extrem umständlich gelungen. Deshalb haben wir uns dazu entschlossen hierfür ein kleines Programm zu entwickeln.

Funktionsweise:

Mittels DayOfWeekFromFile.exe wird eine Datei auf ihr Erstelldatum untersucht und der entsprechende Wochentag der Datei als Rückgabewert 0 (Sonntag) bis 6 (Samstag) zurückgegeben

Beispiel: Eine Windows ServerImagesicherung erstellt jeden Tag ein Image in das Verzeichnis

s:\Sicherung\Serversicherung_aktiv\….

Dieses soll dann dem Wochentag entsprechend umgenannt werden.

s:\Sicherung\Serversicherung_aktiv\ -> s:\Sicherung\Serversicherung_

DayOfWeekFromFile.exe s:\Sicherung\Serversicherung_aktiv\WindowsImageBackup\Server01\Catalog

if errorlevel 0 if not errorlevel 1 set DOW=0

if errorlevel 6 if not errorlevel 7 set DOW=6

if errorlevel 8 goto skip nichts zu tun da keine Datei vorhanden

In dem weiteren Scriptverlauf wird dann s:\Sicherung\Serversicherung_aktiv nach z.B. s:\Sicherung\Serversicherung_1 (1 für Montag) umbenannt

Im Skript SicherungsverzeichnisWaehlen.cmd müssen 8 Variablen gesetzt werden damit das Ganze funktioniert

diese sind

set NameDerFehlerausgabedatei=C:\Users\Administrator\Desktop\Script-Fehler.txt

set QuellundZielVerzeichnisRoot=s:\Sicherung

set QuellVerzeichnisOrdner= Serversicherung_aktiv

set ZielVerzeichnisOrdner=Serversicherung_

set ZielVerzeichnisBasisname=%ZielVerzeichnisRoot%\%ZielVerzeichnisOrdner%

set GetWeekDayFromThisFile=s:\Sicherung\Serversicherung_aktiv\WindowsImageBackup\Server01\Catalog

set QuellVerzeichnisBasisname=%QuellundZielVerzeichnisRoot%\%QuellVerzeichnisOrdner%

set PathToScript=D:\Datapower\Scripts

Dann wird der Rückgabewert ausgewertet und in ein dementsprechendes Zielverzeichnis umbenannt

rem Wenn %FileToSort% nicht existiert, gibt es nichts zu tun

if not exist %FileToSort% goto skip

rem %FileToSort% existiert. Wir können also versuchen diese in die richtige Schublade zu kopieren

rem Wochentag der zuletzt erstellten Sicherung ermitteln und Variable DOW entsprechend setzen

%PathToScript%\DayOfWeekFromFile.exe %FileToSort%

if errorlevel 0 if not errorlevel 1 set DOW=0

echo DOW=%DOW%

if errorlevel 1 if not errorlevel 2 set DOW=1

echo DOW=%DOW%

if errorlevel 2 if not errorlevel 3 set DOW=2

echo DOW=%DOW%

if errorlevel 3 if not errorlevel 4 set DOW=3

echo DOW=%DOW%

if errorlevel 4 if not errorlevel 5 set DOW=4

echo DOW=%DOW%

if errorlevel 5 if not errorlevel 6 set DOW=5

echo DOW=%DOW%

if errorlevel 6 if not errorlevel 7 set DOW=6

echo DOW=%DOW%

if errorlevel 8 goto skip

Im weiteren Verlauf folgt nun das Umbenennen in das entsprechende Verzeichnis.

Im Fehlerfall wird eine Fehler – Datei %NameDerFehlerausgabedatei% gesetzt.

In diesem Beispiel wird im Fehlerfall die Datei C:\Users\Administrator\Desktop\Script-Fehler.txt erzeugt.