Batch (Anfänger)



  • Hi, egal welche Eingabe gemacht wird, er springt in die "funktion" false, wieso?

    @echo off
    title ID-Centre
    
    :menue
    cls
    echo Willkommen im ID-Centre, wählen Sie die gewuenschte Option..
    set auswahl=0
    echo.
    echo Einloggen         [E]
    echo Registrieren      [R]
    echo.
    echo Programm beenden  [B]
    set/p auswahl=
    
    if "%auswahl%"=="E"=="e" goto einloggen
    if "%auswahl%"=="R"=="r" goto registrieren
    if "%auswahl%"=="B"=="b" goto progclose
    if not "%auswahl%"=="E"=="R"=="B"=="e"=="b"=="r"=="" goto false
    
    :registrieren
    echo registrieren
    
    :einloggen
    echo einloggen
    
    :false
    echo Fehler: Unauthorisierte Eingabe.
    echo.
    pause
    goto menue
    
    :progclose
    echo Programm beendet
    


  • if "%auswahl%"=="E"=="e" goto einloggen
    if "%auswahl%"=="R"=="r" goto registrieren
    if "%auswahl%"=="B"=="b" goto progclose
    if not "%auswahl%"=="E"=="R"=="B"=="e"=="b"=="r"=="" goto false
    

    Ich denke mehr an

    if "%auswahl%"=="E" goto einloggen
    if "%auswahl%"=="e" goto einloggen
    if "%auswahl%"=="R" goto registrieren
    if "%auswahl%"=="r" goto registrieren
    if "%auswahl%"=="B" goto progclose
    if "%auswahl%"=="b" goto progclose
    goto false
    


  • hey, danke!

    Noch: wozu ergänzt man bei "pause" manchmal das "> nul"?



  • Damit die Ausgabe von pause auf dem Null Device verschwindet, anstatt auf der Standardausgabe (in der Regel der Bildschirm).



  • Grazie mille!


Anmelden zum Antworten