@echo off
SetLocal EnableDelayedExpansion
set "filename=1\1.txt"
set "fileout=1\2.txt"
set "findstr=111"
set "replacestr=XYZ"
1>nul 2>&1 del /f /q "%fileout%"
for /f "usebackq tokens=* delims=" %%a in ("%filename%") do (
set "replace=%%a"
set "replace=!replace:%findstr%=%replacestr%!
echo.!replace!>>"%fileout%"
)
!<>|&^
список не полный. Кроме спец.символов cmd.exe не любит всяких экзотических "не печатных" символов.
Сейчас под винду собираю с помощью msvc, там и cmake есть. mingw использую только как быструю проверку на собираемость в gcc. Плюсом - набор предупреждений msvc и gcc выдают разный.
Правда постоянно приходится подстраиваться под ограничения для Си микросовтовского компилятора, т.к.нужен переносимый код, но уже привык.