Ne frage zu einem Batch Programm?

...komplette Frage anzeigen

2 Antworten

so sähe  es mit  set /p aus:

@ echo off
echo Mit welcher Suchmaschine wollen sie Suchen?
echo [D]uckduckgo
echo [Y]ahoo
echo [W]ikipedia
echo [G]oogle
rem if /i ignoriert gross und Kleinschreibung
:eingabe
set /p input=
if /i .%input%==.D start "" "https://duckduckgo.com/" & goto weiter
if /i .%input%==.Y start "" "https://de.search.yahoo.com/" & goto weiter
if /i .%input%==.W start "" "https://de.wikipedia.org/w/index.php?search=&title=Special%3ASearch&go=Go" & goto weiter
if /i .%input%==.G (start "" "https://www.google.de/"
goto weiter
) else (
echo wir ueben das noch mal: D Y W oder G !
goto :eingabe )

:weiter
echo genau so!
pause


https://ss64.com/nt/if.html
https://ss64.com/nt/set.html

set / verlangt aber  noch ein enter...das ist  zu viel!


Warum  dem  Nutzer überhaupt eine Wahl lassen etwas  unerwünschtes  einzugeben.
Besser ist "choise"  nur  eine Taste  ohne Enter...

@ echo off
CHOICE /C DYWG /N /m "Mit welcher Suchmaschine wollen sie Suchen? [D]uckduckgo [Y]ahoo [W]ikipedia [G]oogle"
if errorlevel 1 start "" "https://duckduckgo.com/"
if errorlevel 2 start "" "https://de.search.yahoo.com/"
if errorlevel 3 start "" "https://de.wikipedia.org/w/index.php?search=&title=Special%3ASearch&go=Go"
if errorlevel 4 start "" "https://www.google.de/"
pause


Keine goto- Sprünge   keine Alternativen!

so  sieht es  ordentlicher aus:


@ echo off
echo Mit welcher Suchmaschine wollen sie Suchen?
echo [D]uckduckgo
echo [Y]ahoo
echo [W]ikipedia
echo [G]oogle

choise /c DYWG /n
if errorlevel 1 start "" "https://duckduckgo.com/"
if errorlevel 2 start "" "https://de.search.yahoo.com/"
if errorlevel 3 start "" "https://de.wikipedia.org/w/index.php?search=&title=Special%3ASearch&go=Go"
if errorlevel 4 start "" "https://www.google.de/"
pause


siehe https://ss64.com/nt/choice.html

Ansatz ist ok...

Also....

@echo off

:Anfang

SET /p Wahl=a, B oder irgendwas eingeben

If /I Wahl=a GOTO a

If /I Wahl=b GOTO B

:Hier springt die batch hin wenn Müll eingegeben wurde

Goto Anfang

:a

Echo a gewählt

Goto end

:b

Echo b gewählt

Goto end

:End

Echo Es wurde a oder b eingegeben und das Echo abgearbeitet.

Echo jetzt endet das Skript hier...

Exit

Was möchtest Du wissen?