Sich10-5-bat

SET MAXAGE=20180501
REM QLWx = Quelle (ohne Doppelpunkt), ZLW=Ziel (mit Doppelpunkt)
SET QLW1=C
SET QLW2=D
SET QLW3=
SET QLW4=
SET ZLW=F:
SET ROBO_OPT=/NJS /NP
@echo off
@rem Datumsvariablen bereitstellen
set JAHR=%date:~-4%
set MONAT=%date:~-7,2%
set TAG=%date:~-10,2%
echo Kontrollausgabe: Es ist der %TAG%. Tag des %MONAT%. Monats im Jahr %JAHR%
:START
echo Bitte einige Minuten Geduld, waehrend die Festplatte durchsucht wird!
TITLE Das Monatsverzeichnis wird synchronisiert
md %ZLW%\%COMPUTERNAME% 2>nul
md %ZLW%\%COMPUTERNAME%\%JAHR%-%MONAT% 2>nul
md %ZLW%\%COMPUTERNAME%\%JAHR%-%MONAT%\%QLW1% 2>nul
echo Start am %DATE% um %TIME:~0,5% Uhr. >%ZLW%\%COMPUTERNAME%\DAUER.TXT
ROBOCOPY %QLW1%:\ %ZLW%\%COMPUTERNAME%\%JAHR%-%MONAT%\%QLW1%\ /S /PURGE %ROBO_OPT% /FP /maxage:%MAXAGE% /XA:RSH /XD %WINDIR% „%ProgramFiles%“ „%SystemDrive%\Program Files (x86)“ RECYCLER $Recycle.Bin „System Volume Information“ /XF *.tib *.img *.msi *.tmp *.exe *.dll *.com *.ini ntuser.* /w:1 /r:1 /TEE /unilog:%ZLW%\%COMPUTERNAME%\Prot1.txt
echo Ende Sicherung %QLW1%: um %TIME:~0,5% Uhr. >>%ZLW%\%COMPUTERNAME%\DAUER.TXT
PAUSE
rem Pruefen, ob ein Laufwerk Nr. 2 angegeben ist
if „%QLW2%x“ == „x“ goto SICHTBAR
md %ZLW%\%COMPUTERNAME%\%JAHR%-%MONAT%\%QLW2% 2>nul
ROBOCOPY %QLW2%:\ %ZLW%\%COMPUTERNAME%\%JAHR%-%MONAT%\%QLW2%\ /S /PURGE %ROBO_OPT% /FP /maxage:%MAXAGE% /XA:RSH /XD %WINDIR% „%ProgramFiles%“ „%SystemDrive%\Program Files (x86)“ RECYCLER $Recycle.Bin „System Volume Information“ /XF *.tib *.img *.msi *.tmp *.exe *.dll *.com *.ini ntuser.* /w:1 /r:1 /TEE /unilog:%ZLW%\%COMPUTERNAME%\Prot2.txt
echo Ende Sicherung %QLW2%: um %TIME:~0,5% Uhr. >>%ZLW%\%COMPUTERNAME%\DAUER.TXT
PAUSE
rem Pruefen, ob ein Laufwerk Nr. 3 angegeben ist
if „%QLW3%x“ == „x“ goto SICHTBAR
Der Ordner für den dritten Kopiervorgang wird angelegt
md %ZLW%\%COMPUTERNAME%\%JAHR%-%MONAT%\%QLW3% 2>nul
ROBOCOPY %QLW3%:\ %ZLW%\%COMPUTERNAME%\%JAHR%-%MONAT%\%QLW3%\ /S /PURGE %ROBO_OPT% /FP /maxage:%MAXAGE% /XA:RSH /XD %WINDIR% „%ProgramFiles%“ „%SystemDrive%\Program Files (x86)“ RECYCLER $Recycle.Bin „System Volume Information“ /XF *.tib *.img *.msi *.tmp *.exe *.dll *.com *.ini ntuser.* /w:1 /r:1 /TEE /unilog:%ZLW%\%COMPUTERNAME%\Prot3.txt
echo Ende Sicherung %QLW3%: um %TIME:~0,5% Uhr. >>%ZLW%\%COMPUTERNAME%\DAUER.TXT
PAUSE
rem Pruefen, ob ein Laufwerk Nr. 4 angegeben ist
if „%QLW4%x“ == „x“ goto SICHTBAR
md %ZLW%\%COMPUTERNAME%\%JAHR%-%MONAT%\%QLW4% 2>nul
ROBOCOPY %QLW4%:\ %ZLW%\%COMPUTERNAME%\%JAHR%-%MONAT%\%QLW4%\ /S /PURGE %ROBO_OPT% /FP /maxage:%MAXAGE% /XA:RSH /XD %WINDIR% „%ProgramFiles%“ „%SystemDrive%\Program Files (x86)“ RECYCLER $Recycle.Bin „System Volume Information“ /XF *.tib *.img *.msi *.tmp *.exe *.dll *.com *.ini ntuser.* /w:1 /r:1 /TEE /unilog:%ZLW%\%COMPUTERNAME%\Prot4.txt
echo Ende Sicherung %QLW4%: um %TIME:~0,5% Uhr. >>%ZLW%\%COMPUTERNAME%\DAUER.TXT
PAUSE

:SICHTBAR
attrib -h -s %ZLW%\%COMPUTERNAME%\*.* /s /d
:PROTOKOLL
echo Die letzte Sicherung erfolgte am %DATE% um %TIME:~0,5% Uhr nach %ZLW%\%COMPUTERNAME% >%ZLW%\%COMPUTERNAME%\%JAHR%-%MONAT%\DATUM.TXT
if not „%MAXAGE:~5,3%“==““ echo Die Sicherung enthält alle Daten seit dem %MAXAGE:~6,2%.%MAXAGE:~4,2%.%MAXAGE:~0,4% >>%ZLW%\%COMPUTERNAME%\%JAHR%-%MONAT%\DATUM.TXT
echo Letzte Datensicherung von %QLW1%: %QLW2%: %QLW3%: %QLW4%: erfolgte %date% %time:~0,5% Uhr nach %ZLW%\%COMPUTERNAME%\%JAHR%-%MONAT% >%ZLW%\%COMPUTERNAME%\Protokoll.txt“
if not „%MAXAGE:~5,3%“==““ echo Die Sicherung enthält alle Daten seit dem %MAXAGE:~6,2%.%MAXAGE:~4,2%.%MAXAGE:~0,4% >>%ZLW%\%COMPUTERNAME%\Protokoll.txt
echo Ein Jahresprotokoll wird erstellt

echo %0 sicherte %QLW1%: %QLW2%: %QLW3%: %QLW4%: am %date% durch %USERNAME% nach %ZLW%\%COMPUTERNAME%\%JAHR%-%MONAT% >>“%USERPROFILE%\desktop\Protokoll%JAHR%.txt“
Nun noch aufräumen:
TITLE Überflüssige Dateien aus der Sicherung herausloeschen
del %ZLW%\%COMPUTERNAME%\%JAHR%-%MONAT%\TempImage.nrg /s 2>nul
del %ZLW%\%COMPUTERNAME%\%JAHR%-%MONAT%\*.img /s 2>nul
TITLE Dieses Gesamtprotokoll „Protokoll%JAHR%.txt“ liegt auf Ihrem Desktop
type „%USERPROFILE%\desktop\Protokoll%JAHR%.txt“
if not „%MAXAGE:~5,3%“==““ echo Die Sicherung enthaelt Daten seit dem %MAXAGE:~6,2%.%MAXAGE:~4,2%.%MAXAGE:~0,4%
rem Hier könnten Befehle folgen, die über das Ende des Sicherung informieren
set JAHR=
set MONAT=
set TAG=
:SCHLUSS
ECHO Achtung! Je nach Zugriffsrechten sind die Daten anderer Benutzer vielleicht nicht gesichert!
type %ZLW%\%COMPUTERNAME%\DAUER.TXT