Da Sie bereits DelayedExpansion verwenden, stecke ich die aktuelle Zeile immer in die Variable line
und überprüfe per String-Ersetzung, ob sie line
das Markup enthält.
@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! )