Frage von Sensitive1, 26

Kann ich in einer Batch Abfrage alle anderen Optionen ausschließen?

Ich habe mich mal zum Spaß an eine Passwortabfrage in Batch gesetzt, da ich für mache Punkte nur ein paar bestimmte Fälle programmiert habe (z.B. if %Frage% == y goto next; if %Frage% == n goto back) habe ich mich gefragt ob ich alle anderen möglichen Fälle (z.B bei einer (Y/N)-Abfrage alle anderen Buchstaben) ausschließen könnte.

Antwort
von S1r1us13, 5

Ab Windows Vista kannst du mit dem CHOICE-Befehl festlegen, dass der Benutzer nur bestimmte Dinge drücken darf:

choice  /C YN /M "Drück Y oder N"
if %ERRORLEVEL% == 2 goto back
if %ERRORLEVEL% == 1 goto next

Drückt der Benutzer etwas anderes als Y oder N, wird ein akustisches Signal über den Computerlautsprecher ausgegeben.

Alternativ geht auch folgende Befehlsfolge:

:Marke
set /p Frage=Drück Y oder N:
if /i "%Frage%" == "Y" goto next
if /i "%Frage%" == "N" goto back
echo Ungültige Eingabe.
pause
goto Marke

Gibt der Benutzer etwas anderes als Y oder N ein, fährt die Batchdatei mit den Befehlen unter den IF-Abfragen fort. Springst du zurück zu :Marke, wird die Frage wiederholt, bis der Benutzer Y oder N eingibt.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten