Ich hab da ein kleines Problem mit meinem Batch. Ich will ein goto einbauen bei welchem man zurück zum Hauptmenü kommt. Das hab ich mit einem "goto Start" gemacht. Das :Start wurde auch gesetzt. Wenn ich jetzt die 3 drücke (ist die Zahl die ich zugewiesen habe), dann bringt er die Fehlermeldung dass der Wert nicht definiert wurde, und springt dann zum Start. Ich habe zwar das erreicht was ich wollte, jedoch nur weil bei der else Funktion gesagt wurde dass er nachher wieder zum Start springen soll.
@Echo off :Start cls Echo __________________________________________________ ______________________________ Echo ======== = = Echo = = = = Echo = = = ======= = ======= Echo = = = = = Echo ======== ====== ======== = = = = = Echo ======== ====== = = = = = = ======= Echo = = = = = = = = = = = Echo = = = = = = = = = = = Echo = = = = ========== = = ======= ======= Echo __________________________________________________ ______________________________ Echo. Echo [1] - Menpunkt 1 Echo. Echo [2] - Menpunkt 2 Echo. Echo [3] - Men neu ”ffnen Echo. Echo [4] - Beenden Echo. set /p choice=Ihre Auswahl [x]: if %choice% == 1 (goto 1) else (goto ungltig) if %choice% == 2 (goto 2) else (goto ungltig) if %choice% == 3 (goto 3) elso (goto ungltig) if %choice% == 4 (goto exit) else (goto ungltig) :1 cls Echo __________________________________________________ ______________________________ Echo ======== = = Echo = = = = Echo = = = ======= = ======= Echo = = = = = Echo ======== ====== ======== = = = = = Echo ======== ====== = = = = = = ======= Echo = = = = = = = = = = = Echo = = = = = = = = = = = Echo = = = = ========== = = ======= ======= Echo __________________________________________________ ______________________________ Echo. Echo Men 1 Echo. Echo [1] - Menpunkt 1 Echo. Echo [2] - Menpunkt 2 Echo. Echo [3] - Zurck zum Hauptmen Echo. Echo [4] - Beenden set /p choice=Ihre Auswahl [x]: if %choice% == 1 (goto 1.1) else (goto ungltig) if %choice% == 2 (goto 2) else (goto ungltig) if %choice% == 3 (goto Start) elso (goto ungltig) if %choice% == 4 (goto beenden) else (goto ungltig) :1.1 Echo blub goto beenden :ungltig Echo __________________________________________________ ____________________________ Echo Der Wert ^"%choice%^" ist kein gltiger Wert. Bitte versuchen Sie es noch einmal. Echo __________________________________________________ ____________________________ Echo. pause cls goto Start :beenden pause exit
Dort wo das 2. "set /p choice..." ist, fängt das Problem an. Ich tippe 3 ein, und er springt zu "ungültig" (ü, und die anderen umlaute werden ned angezeigt da ich die Batch Datei im DOS geschrieben habe und es dann aus dem Notepad rauskopiert habe um es hier zu posten).
Dieser Beitrag wurde von Erte bearbeitet: 02. Juli 2008 - 15:21