У меня есть этот цикл For /F:
Setlocal EnableDelayedExpansion
for /F "tokens=*" %%A in (New.txt) do (
echo "%%A" | findstr /C:"[B]" 1>nul
if !errorlevel!==1 echo "%%A"
set line=%%A
if !errorlevel!==0 echo BOLD !line:[B]=!
)
Он печатает строки в текстовом файле, за исключением того, что он пересекает строку с текстом [B]
, добавляет BOLD
к началу строки. Я ищу способ иметь что-то подобное для [S]
где он может добавить SUPER
в начало. У меня было это:
Setlocal EnableDelayedExpansion
for /F "tokens=*" %%A in (New.txt) do (
echo "%%A" | findstr /C:"[B]" 1>nul
if !errorlevel!==1 echo "%%A" | findstr /C:"[S]" 1>nul & if %errorlevel%==1 echo "%%A" & if %errorlevel%==0 echo SUPER !line:[S]=!
set line=%%A
if !errorlevel!==0 echo "!line:[B]=!"
)
Однако это не работает из-за того, как это работает.
РЕДАКТИРОВАТЬ: Я не могу завершить цикл с помощью разрыва или перехода, потому что есть несколько строк для обработки.