
138701
10.02.2019
":" Kann an dieser Stelle syntaktisch nicht verarbeitet werden
Hallo zusammen,
Hier erstmal mein Programm:
Ich bekomme jedes Mal folgende Fehlermeldung:
Kann sich jemand vorstellen warum?
Ich komme nicht mehr weiter :/
Hier erstmal mein Programm:
@echo off
title Login System
color 0C
for /f "delims=" %%x in (Game\Profile\temp.ini) do set "profile=%%x"
:start
set key=
set print=
set newkey=
cls
echo =====Login System=====
echo.
echo 1: Edit your secret notes.
echo 2: Generate new key.
echo 3: Delete your profile.
echo 4: Go back to main sytem.
echo.
echo What do you want to do?
choice /c 1234
if %errorlevel%==1 (
start Game\Profile\%profile%\diary.rtf
goto start
)
if %errorlevel%==2 goto overwrite
if %errorlevel%==3 goto delete
if %errorlevel%==4 (
start _Main.bat
exit
)
if %errorlevel%==255 goto start
goto start
::######################################################################
:overwrite
for /f "delims=" %%x in (Game\Profile\%profile%\key.txt) do set "key=%%x"
set /a newkey=1+(10000-1+1)*%random%/32768
cls
::In der nächsten Zeile kommt die Fehlermeldung.
call :find "%profile%;%key%" && (
findstr /ilvc:"%profile%;%key%" "Game\Profile\profiles.db" >"%TEMP%\profiles.db" & move "%TEMP%\profiles.db" "Game\Profile\profiles.db"
echo Your new key is %newkey%.
echo %newkey%>Game\Profile\%profile%\key.txt
set /p print=Should the new key be printed? (yes/no):
if %print%==yes (
NOTEPAD /P Game\Profile\%profile%\key.txt
cls
echo Successfully printed!
)
setlocal ENABLEDELAYEDEXPANSION
>>"Game\Profile\profiles.db" echo.!profile!;!newkey!
echo.
echo Profile successfully edited!
endlocal
timeout /t 5 >nul
goto start
) || (
echo Profile does not exist!
echo.
timeout /t 5 >nul
goto start
)
goto start
::######################################################################
:delete
for /f "delims=" %%x in (Game\Profile\%profile%\key.txt) do set "key=%%x"
cls
call :0 "%profile%;%key%" && (
findstr /ilvc:"%profile%;%key%" "Game\Profile\profiles.db" >"%TEMP%\profiles.db" & move "%TEMP%\profiles.db" "Game\Profile\profiles.db" >nul
attrib -h -s Game\Profile\%profile%\diary.rtf
del Game\Profile\%profile% /s /q
echo Profile has been deleted.
timeout /t 5 >nul
goto start
) || (
echo Profile does not exist!
echo.
timeout /t 5 >nul
goto start
)
:find
::Der Fehler liegt nicht an dieser Zeile!
findstr /ibelc:"%~1" "Game\Profile\profiles.db" >nul 2>&1 && exit /b 0 || exit /b 1
Ich bekomme jedes Mal folgende Fehlermeldung:
":" kann an dieser Stelle syntaktisch nicht verarbeitet werden.
Kann sich jemand vorstellen warum?
Ich komme nicht mehr weiter :/
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 416389
Url: https://administrator.de/forum/kann-an-dieser-stelle-syntaktisch-nicht-verarbeitet-werden-416389.html
Ausgedruckt am: 21.05.2025 um 05:05 Uhr
9 Kommentare
Neuester Kommentar
Wie wahrscheinlich ist es denn dass
Steffen
"%profile%;%key%"
zu einem String expandiert, in dem zusätzliche Anführungszeichen zu finden sind?::Der Fehler liegt nicht an dieser Zeile!
Mag schon sein, aber die Optionen b und e in Kombination sollten sicher eher Option x werden. Weiß gerade gar nicht wie findstr auf sowas reagiert.Steffen
Hallo,
oder ein dann wirst du sehen wo du dein(e) Fehler eingearbeitet hast. Deine verwendung von :: als Kommentar kann, muss aber nicht, dein Problem schon darstellen. Nur REM tut ganz genau was es soll und hat in der verwendung keinerlei nebenwirkungen.
https://www.robvanderwoude.com/comments.php
https://stackoverrun.com/de/q/4522895
Gruß,
Peter
Zitat von @138701:
Hier erstmal mein Programm:
OK. Batch. Mach mal ein Hier erstmal mein Programm:
@echo on
REM @echo on
https://www.robvanderwoude.com/comments.php
https://stackoverrun.com/de/q/4522895
::In der nächsten Zeile kommt die Fehlermeldung.
Und wie du siehst sind der Verwendung von Umlauten je nach OS nicht wirklich gelungen":" kann an dieser Stelle syntaktisch nicht verarbeitet werden.
Kann sich jemand vorstellen warum?
Steht doch da. Deine verwendung von :: als Kommentar sind dein ProblemGruß,
Peter
Hallo,

Gruß,
Peter
Zitat von @138701:
Das hatte ich alles schon gemacht.
Das bedeutet du hast alle :: gegen ein REM ausgetauscgt, die Codierung deiner Batch geändert oder dein OS angepasst? Du hast auch Verstanden das deine :: nebenwirkungen haben (können)?Das hatte ich alles schon gemacht.
Der Fehler liegt ganz sicher in Zeile 37!
Immer noch?Ich habe nach jeder Zeile Pause eingefügt und es hat sich ergeben, dass das Programm ab dieser Zeile nicht mehr funktioniert.
Dann hast du nach wie vor ein Fehler.Gruß,
Peter