1
Ich lerne immer noch die Sprache, also seien Sie bitte nachsichtig.Problem mit meinem Batch-Skript
Die Bedingung im Zusammenhang mit meiner START-Variable im folgenden Code wird nie ausgelöst, und ich kann nicht herausfinden, warum. Dieser Teil soll ausgeführt werden, wenn die aktuelle Zeile mit "80 /" beginnt und die vorhergehende Zeile mit einem Semikolon und dann einem Leerzeichen beginnt. Wahrscheinlich ein Synthax-Fehler oder ähnliches. Jede Hilfe würde sehr geschätzt werden.
@ECHO OFF
SETLOCAL DISABLEDELAYEDEXPANSION
>"%~dpn1_2.txt" (
FOR /F "tokens=1* delims=]" %%j in ('find /V /N "" %1') DO (
SET "currentLine=%%k"
SETLOCAL ENABLEDELAYEDEXPANSION
IF "!currentLine:~0,2!"=="; " (
SET START=1
) ELSE IF "!currentLine:~0,3!"=="80/" (
IF "!START!"=="1" (
SET "currentLine=!currentLine:~0,2!!currentLine:~3,5! !currentLine:~18!"
SET START=
) ELSE (
SET string=!currentLine:~0,2!!currentLine:~3,4!
FIND "!string!" labels.txt > nul
IF !errorlevel! EQU 0 (
SET "currentLine=!currentLine:~0,2!!currentLine:~3,5! !currentLine:~18!"
) ELSE (
SET "currentLine= !currentLine:~18!"
)
)
)
ECHO(!currentline!
ENDLOCAL
)
)
Es gibt keine 'ELSE IF' in Batch – SomethingDark
@SomethingDark,' sonst if' funktioniert gut ... – aschipfl
Es ist irreführend. – SomethingDark