boory01
Goto Top

Batch -Menü - bei "Enter" soll ohne Auswahl nichts ausgeführt werden

Hallo Gemeinde,

bei einem Batch-Menü wird bei mir bei Drücken der ENTER-Taste sofort der erste Menüpunkt ausgeführt,
obwohl keine Auswahl getroffen wurde. Dies soll aber erst bei Selektion passieren. Hier das Menü:
Bei Auswahl aller anderen Zeichen, die NICHT im Menü vorbelegt sind, wird ebenfalls zum 1. Punkt gesprungen,

Wie kann das verhindert werden?

@echo off
:MENU
echo take your choice

echo AW1 - 1
echo AW2 - 2
echo AW3 - 3
echo AW4 - 4
echo quit - x or X

set asw=0
set /P asw=Bitte Auswahl eingeben:
if %asw%==1 goto AW1
if %asw%==2 goto AW2
if %asw%==3 goto AW3
if %asw%==4 goto AW4
if %asw%==X goto:EOF
if %asw%==x goto:EOF

:AW1
echo.
echo.
echo AW1
echo.
echo.

GOTO MENU

:AW2
echo.
echo.
echo AW2
echo.
echo.

GOTO MENU

echo.
echo.
:AW3
echo.
echo.
echo AW3
echo.
echo.

GOTO MENU

echo.
echo.
:AW4
echo.
echo.
echo AW4

GOTO MENU

:EOF

Content-Key: 291253

Url: https://administrator.de/contentid/291253

Printed on: April 27, 2024 at 05:04 o'clock

Mitglied: 114757
Solution 114757 Dec 18, 2015 updated at 12:35:43 (UTC)
Goto Top
Moin,
vor dem ersten Punkt noch einen Sprung setzen face-wink entweder zurück ins Menü oder Skript beenden ...
goto MENU
:AW1
Gruß jodel32

p.s. das :EOF ganz am Ende ist überflüssig face-smile

statt set /p kannst du auch choice einsetzen das piept bei einer falschen Eingabe und macht erst weiter wenn eine gültige Auswahl getroffen wurde.
Mitglied: 114757
Solution 114757 Dec 18, 2015 updated at 12:35:45 (UTC)
Goto Top
Für ein einfaches Beispiel wie man das mit choice macht guckst du hier:
Batch Datei Menü programmieren
Member: Boory01
Boory01 Dec 18, 2015 at 12:35:25 (UTC)
Goto Top
Hallo Jodel32,

vielen Dank! Werd ich so umsetzen! Hast mir sehr geholfen!

Frohe Weihnachten! face-smile