Stworzyłem skrypt wsadowy, który zastępuje ciągi znaków w określonym pliku tekstowym. W moim pliku ciąg OutDir=bin
powinien zostać zastąpiony jako, OutDir=Build
ale otrzymuje dane wyjściowe jako bin=OutDir=Build=bin
. Jak mogę uciec =
in OutDir=bin
tak, że ciąg nie staje się nieczytelny? Próbowałem, OutDir^=
ale użycie marchewki też nie działa.
Oto mój obecny skrypt:
@echo off
setlocal enableextensions disabledelayedexpansion
set search=OutDir=bin
set replace=OutDir=Build
set textFile=%DOCUMENT%.txt
for /f "delims=" %%i in ('type "%textFile%" ^& break ^> "%textFile%" ') do (
set "line=%%i"
setlocal enabledelayedexpansion
>>"%textFile%" echo(!line:%search%=%replace%!
endlocal
)
Próbowałem zmienić znajdź i zamień zmienne, aby skompensować =
ciąg, który zastępuję, ale żadna nie działała:
set search= "OutDir=bin"
set replace= "OutDir=Build"
set search="OutDir=bin"
set replace="OutDir=Build"
set "search=OutDir=bin"
set "replace=OutDir=Build"
"set search=OutDir=bin"
"set replace=OutDir=Build"