Backup Script (CMD) mit Menü

Habe eben schnell ein kleines Batch geschrieben (teilweise zusammengestückelt) um vorrübergehen verschieden Verzeichnisse von alten Servern auf unseren neuen großen Server zu kopieren:

Benötigte Tools (Müssen im PATH liegen, sonst Anpassung der Kommandos nötig !):

  1. MS Ressource Kit
  2. Blat

Anpassungen für das eigene System:

  1. Die Zeile mit logpath sollte angepasst werden sofern dieser Ordner nicht existiert. Der Pfad muss mit \ enden !
  2. Innerhalb des Ordners D:\Logs existieren 5 Unterverzeichnisse mit den Namen 1,2,3,4 bzw. 5 (je nach gewähltem Menüpunkt wird das Log in den passenden Ordner geschrieben)
  3. Das Menü (Der Menütext :-D)
  4. QUELLE und ZIEL für die einzelnen robocopy aufrufe
  5. Absender, Empfänger und SMTP-Server in der Blat Zeile

@echo off
:Log
set logpath=D:\Logs\
set logfilename=logbackup-%date:~6,4%-%date:~3,2%-%date:~0,2%.txt
REM set logdestination=%logpath%%logfilename%
:haupt
cls
echo.
echo ########################################################################
echo # Temp Backup Script V 1.0 #
echo ########################################################################
echo # Bitte wählen was synchronisiert werden soll: #
echo # ——————————————– #
echo # 1.) Robocopy – Ihr Text 1 #
echo # 2.) Robocopy – Ihr Text 2 #
echo # 3.) Robocopy – Ihr Text 3 #
echo # 4.) Robocopy – Ihr Text 4 #
echo # 5.) Robocopy – Ihr Text 5 #
echo ########################################################################
set /p auswahl="Geben Sie einen Punkt an 1,2,3,4,5 oder (E)nde ein : "
set logdestination=%logpath%%auswahl%%logfilename%
goto %auswahl%
:1
robocopy QUELLE ZIEL /MIR /TEE /LOG:%logdestination%
goto Sendmail
:2
robocopy QUELLE ZIEL /MIR /TEE /LOG:%logdestination%
goto Sendmail
:3
robocopy QUELLE ZIEL /MIR /TEE /LOG:%logdestination%
goto Sendmail
:4
robocopy QUELLE ZIEL /MIR /TEE /LOG:%logdestination%
goto Sendmail
:5
robocopy QUELLE ZIEL /MIR /TEE /LOG:%logdestination%
goto Sendmail
:Sendmail
blat %logdestination% -to EMPFAENGERADRESSE -f ABSENDERADRESSE -server SMTPSERVERIPADRESSE/SMTPSERVERHOSTNAME
pause
goto haupt
:E
exit