1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Falsche eingabe bei Batch-Dateien (Befehl)!?

Discussion in 'Programmieren' started by Memo 2005, Nov 15, 2006.

Thread Status:
Not open for further replies.
  1. Memo 2005

    Memo 2005 Kbyte

    Hallo,

    Ich würde gerne wissen wie ich den Befehl reinschreiben muss wenn ich z.B. die 473 eingebe soll er ja zu der zeile springen mit ":473" das funktioniert ja aber wenn ich was anderes außer der 473 eingebe, soll er ja eine fehlermeldung geben, das heißt das er zu der zeile sringt ":falsch".
    Kann mir da einer bitte helfen wie ich es da reinschreiben muss.
    Beispiel aber das ist ja das falsche:
    _______________________________
    @echo off
    Title Nummer
    set /p Eingabe=Geben sie hir ihre Nummer ein! //
    goto %Eingabe%
    if errorlevel 1 goto falsch
    :473
    echo *************
    echo Richtig
    pause > NUL
    :falsch
    echo *************
    echo Falsche eingabe
    pause > NUL
    ______________________________
    wenn ihr meine frage nicht richtig verstanden habt dann fragt eindfach nochmal.

    Hilfe :bitte:
     
  2. michag

    michag Kbyte

    Hello,

    brauchst Du die fette Zeile?
    Mach doch einfach nen goto :falsch? (oder heisst das goto falsch?)
    und hinter
    echo Richtig
    pause > NUL
    goto :eof einfügen.

    mg
     
  3. Michi0815

    Michi0815 Guest

    goto unterstützt imho keine fehlerbehandlung. wenn das label nicht existiert wirft cmd einen fehler und bricht die ausführung ab.

    du müsstest die eingabe auf fehlerhafte werte überprüfen
    also

    if %Eingabe%.==473. goto 473
    goto falsch

    ach ja...
    wenn du z.b. auf ein n (für nein) überprüfst dann musst du sowohl nach N als auch nach n suchen.
     
  4. Memo 2005

    Memo 2005 Kbyte

    Erstmal danke für Antwort

    wenn ich es aber so reinschreibe dann bricht er auch ab, wenn ich eine falsche zahl eingebe soll er ja zu der zeile springen da wo es steht das es falsch war.
    ich habe es so reingeschrieben:
    ________________________--
    @echo off
    Title Nummer
    set /p Eingabe=Geben sie hir ihre Nummer ein! //
    goto %Eingabe%
    if %Eingabe%.==473. goto 473
    goto falsch
    :473
    echo *************
    echo Richtig
    pause > NUL
    exit
    :falsch
    echo *************
    echo Falsche eingabe
    pause > NUL
    ____________________________
    hoffendlich könnt ihr mir helfen!

    ja ich denke schon?!
     
  5. Hnas2

    Hnas2 Ganzes Gigabyte

    Versuchs doch mal mit der folgenden Befehlsfolge:

     
  6. Memo 2005

    Memo 2005 Kbyte

    Ja jetzt gehts das meinte ich danke für eure hilfe!

    MFG Memo
     
  7. Michi0815

    Michi0815 Guest

    nur noch ein tip:

    if %Eingabe%==473 goto 473
    sollte man besser nicht so verwenden! wenn der Benutzer nur <enter> drückt (also nichts eingibt) dann ist die variable Eingabe leer und die if abfrage macht irgendwas.

    besser ist
    if %Eingabe%.==473. goto 473
    dann steht in jedem fall etwas vor dem == und die abfrage ist gültig
     
  8. Memo 2005

    Memo 2005 Kbyte

    OK wenn ich es so eingebe
    if %Eingabe%.==473. goto 473
    dann nur enter drücke (nichts ein gebe) dann zeigt er auch an das es falsche zahl bzw. eingegeben wurde.

    Und wenn ich es ohne den punkten eingebe und auch nur enter drücke (nichts eingebe) dann schließt er gleich die batch-datei.

    Das ist halt der unterschied! Oder?
     
  9. Hnas2

    Hnas2 Ganzes Gigabyte

    Ja, richtig.
     
  10. Memo 2005

    Memo 2005 Kbyte

    Achso OK, Danke für eure schnelle Hilfe!
     
Thread Status:
Not open for further replies.

Share This Page