Batch Datei - [ENTER]

...komplette Frage anzeigen

1 Antwort

@echo off

:Main
CHOICE /C:yn /CS
IF ERRORLEVEL 2 GOTO n
IF ERRORLEVEL 1 GOTO y ELSE GOTO :Main

:n
ECHO You have pressed "n"!
PAUSE
GOTO :EOF

:y
ECHO You have pressed "y"!
PAUSE
GOTO :EOF

Schreib in der Eingabeaufforderung Choice /? für mehr Parameter. :]

Shades93 13.02.2013, 17:57

P.s.: Dies hier

ELSE GOTO :Main

kannst du weglassen (Zeile 6), da eh nichts anderes als Y und N akzeptiert wird. Im Falle einer Falscheingabe, wird ein akustisches Signal ausgegeben - nicht wundern. ^^

0
McZockerLP 17.02.2013, 20:55

Wie würd das aussehen wenn ich eine Wahl zwischen 1,2,3 haben wollte?

Ich weiß das läuft über Errorlevel aber....

Weiter weiß ich nicht :D

0
Shades93 18.02.2013, 13:34
@McZockerLP
@echo off

:Main
CHOICE /C 123
IF ERRORLEVEL 3 GOTO 3
IF ERRORLEVEL 2 GOTO 2
IF ERRORLEVEL 1 GOTO 1

:3
ECHO You have pressed "3"!
PAUSE
GOTO :EOF

:2
ECHO You have pressed "2"!
PAUSE
GOTO :EOF

:1
ECHO You have pressed "1"!
PAUSE
GOTO :EOF

Da Choice mit Errorloevel arbeitet, solltest du in Rückläufiger Reihenfolge schreiben.

IF ERRORLEVEL vergleicht, ob die gegebene Zahlen gleich- oder höher sind, deshalb erst den letzten/größten-, dann den ersten/geringsten Wert schreiben.

Kannst es ja mal in normaler Order ausprobieren. ^^

0

Was möchtest Du wissen?