Mittwoch, 7. August 2013

DOS Tutorial 3 - Batch mit Menüführung

Hallo Leute,

nachdem wir jetzt ja schon ein paar Grundlagen gelernt haben, kommt heute mal etwas anspruchsvolleres.
Eine Batch mit Menüführung!
Wozu braucht man das fragt Ihr Euch jetzt sicher, ich helfe Euch gerne weiter.
Wir haben gelernt dass in einer Batch mehr als ein Befehl abgearbeitet werden kann, um nun das ganze zu strukturieren und Benutzerfreundlich zu machen, schreiben wir noch ein Menü mit hinein um die Befehle die man ausführen möchte auswählen zu können.
Das ganze sieht dann ungefähr so für den Benutzer aus:
A Erster Befehl
B Zweiter Befehl
C Dritter Befehl
usw. 

Jetzt ist für den Benutzer klar dass wenn er einen dieser Buchstaben drückt der dahinter stehende Befehl ausgeführt wird. Welchen er als Erstes benutzt ist dabei völlig egal.
Das ganze ist ziemlich hilfreich für Leute die sich nicht so gut auskennen mit dem Thema DOS, andererseits ist es ziemlich Zeitsparend wenn man bestimmte Abläufe von Befehlen mal öfters am Tag oder in der Woche braucht.

Was brauchen wir für das Ganze?
Als erstes Mal müssen wir wissen was die Batch alles können sollte, dann brauchen wir eine klare Strukturierung und zum Schluss noch ein paar neue Befehle.

Unsere Batch soll diesmal folgendes können:
1. Eine Diskette auf Fehler überprüfen
2. Eine Diskette formatieren
3. Dateien, aus einem festgelegten Ordner, als Sicherung auf die Diskette kopieren
4. Beendet werden können

Der dazugehörige Code sieht folgendermaßen aus:

@echo off
:start
echo Drücken Sie eine beliebige Taste
pause
cls
echo A Diskette überprüfen
echo B Diskettte formatieren
echo C Sicherungskopie erstellen
echo D Beenden
echo.

choice /c: ABCD Option wählen
if errorlevel 4 goto ende
if errorlevel 3 goto copy
if errorlevel 2 goto format
if errorlevel 1 goto check

:check
chkdsk a:
goto start

:format
echo. > hlp.txt
echo Sicherungskopie >> hlp.txt
echo n >> hlp.txt
format /q a: < hlp.txt
del hlp.txt
goto start

:copy
copy c:\backup a:
goto start

:ende

Was ist neu?

goto start --> :start
Mit "goto" kann man per Sprungmarke an einer bestimmten Stelle im Programm weiter machen und den Rest ignorieren und überspringen.

choice /c: ABCD
"choice" erwartet eine Eingabe von vorgelegten Parametern, der eingegebene Parameter wird in einem Errorlevel gespeichert

if errorlevel
Prüft ob der errorlevel gleich einem bestimmten Wert ist. In unserem Beispiel wäre zum Beispiel A=errorlevel 1, B=errorlevel 2, C=errorlevel 3, D=errorlevel 4
Was und wie genau in dieser Batch geschieht erkläre ich Euch im folgenden Video, viel Spaß damit und nur nicht warten falls Ihr Fragen habt.



MFG

Kurissu

Keine Kommentare:

Kommentar veröffentlichen