Ich habe eine neue Funktion für mein Batch-Spiel entwickelt, die dem Benutzer die Möglichkeit gibt, den Namen seiner eigenen Sicherungsdatei zusammen mit dem Ladesystem festzulegen. Das neue Speichersystem funktioniert ab sofort ordnungsgemäß.
Allerdings gibt das Programm beim Testen des neuen Codes die Meldung „Die Syntax des Befehls ist falsch.“ aus und stürzt ab.
:load2
cls
color E
echo Warning: Spaces not allowed!
set /p load2=File:
set ext1=.sav
set ext2=.bat
cls
echo Loading Save File...
ping localhost -n 1 >nul
if exist %load2%%ext1%
if not exist %load2%%ext1% goto :nosave
ping localhost -n 2 >nul
ren %load2%%ext1% %load2%%ext2%
call %load2%%ext2%
ren %load2%%ext2% %load2%%ext1%
cls
color A
echo Game loaded.
ping localhost -n 2 >nul
cls
if %saver%=player1 goto :p1sturn
if %saver%=player2 goto :p2sturn
Vielen Dank fürs Lesen, jeder, der teilgenommen hat, wird in den Credits für die Unterstützung bei cod aufgeführt
Antwort1
==>if exist x
The syntax of the command is incorrect.
Der Fehler wird durch verursacht if exist %load2%%ext1%
. Entfernen Sie es vollständig: es ist überzählig, gefolgt vonif not exist %load2%%ext1% goto :nosave
Ein weiterer Fehler:
==>if player1=player1 echo x
=player1 was unexpected at this time.
Die richtige Syntax (beachten Sie Anführungszeichen und doppeltes =
Gleichheitszeichen):
if "%saver%"=="player1" goto :p1sturn
if "%saver%"=="player2" goto :p2sturn