Como você já está usando o DelayedExpansion, eu sempre coloco a linha atual na variável line
e verifico via substituição de string se line
contém a marcação.
@Echo off & Setlocal EnableDelayedExpansion
for /F "tokens=*" %%A in (New.txt) do (
set "line=%%A"
if "!line!" neq "!line:[B]=!" set "line=BOLD !line:[B]=!"
if "!line!" neq "!line:[S]=!" set "line=SUPER !line:[S]=!"
echo=!line!
)