Goto war unerwartet zu diesem Zeitpunkt - batch
Ich versuche, ein batch-text-basiertes Spiel. Aber ich ein problem, gerade erst anfangen zu schreiben, was ich noch nie gesehen hatte.
:menu
:: the game menu - opens when the game starts
cls
echo This game is still being made -- expermintal
echo Start Screen:
echo [1] View Changes
echo [2] Start Game
echo enter your choice:
set /p startchoice =
if %startchoice%==1 goto changes
if %startchoice%==2 goto startgame
Geben, wenn ich in entweder 1 oder 2 ist, zeigt die Fehlermeldung "goto unerwartet war in dieser Zeit" Wie kann ich es beheben?
InformationsquelleAutor user1935683 | 2012-12-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre
startchoice
ist nicht korrekt eingestellt. Verwenden Sie die Alternative syntax fürset /p
wo liefern Sie die Eingabeaufforderung gibt (und entfernen Sie die Leerzeichen zwischenstartchoice
und die Zuordnung (=
) Bediener - ich denke, dass es tatsächlich die Ursache des Problems, aber Sie können reduzieren Sie Ihre batch-Datei wird durch eine Zeile, wenn Sie dieset /p <variable>=<Prompt>
syntax).Fügte ich zwei Ziele für die
goto
, undecho
Aussagen, so dass Sie konnte sehen, dass Sie erreicht wurden:Gott! kein upvote? +1.
InformationsquelleAutor Ken White
Müssen Sie Anführungszeichen um den wenn-Vergleich und wusste nicht, wie Sie mit set /p ohne eine Aufforderung. Die folgenden Werke:
InformationsquelleAutor PeterJ
Anstelle der Verwendung von environment-Variablen, versuchen Sie dies:
Wahl ist ein Programm, das ermöglicht die Eingabe einer Zahl oder y/n und einen Fehlercode zurückgibt.
%ERRORLEVEL% ist eine variable, hält das Programm die Letzte Fehler-code.
Können Sie tun, andere Vergleiche zu.
InformationsquelleAutor Osmium USA
Ein weiterer Grund könnte es sein, malfuntioning ist, dass Sie nicht aufgenommen haben das SET /P M= - Variable Korrekt... Es sollte kein Raum zwischen dem m und dem Gleichheitszeichen.
InformationsquelleAutor Dane Wright