1
我仍然在学习语言,所以请放纵。问题与我的批处理脚本
在下面的代码中与我的START变量相关的条件从不触发,我找不到原因。如果当前行以“80 /”开头,并且前面的行以分号和空格开始,那么该部分应该执行。可能是一个synthax错误或一些这样的。任何帮助将不胜感激。
@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
)
)
有没有'批量 – SomethingDark
@SomethingDark ELSE IF','其他if'不做工精细... – aschipfl
这是误导。 – SomethingDark