Я пытаюсь найти подстроку и заменить ее другой строкой в файле записей SVN, используя следующий код
Однако, когда код встречается с чем-то вроде «» (пробел, когда он виден в блокноте) или «##» (когда он виден в блокноте ++), код заменяет его на «ECHO выключен».
Как обойти эту проблему.
@echo off
setlocal enabledelayedexpansion
set LOCATION=C:\RUNTIME_DATA\
set OUTTEXTFILE=test_out.txt
set oldstr3=SetWorkflowVariable
set newstr3=SetProcessVariable
set oldstr5=
set newstr5=
FOR /r %LOCATION% %%x IN (*.*) do (
FOR /f "tokens=1,* delims=¶" %%A in ('"type %%x"') do (
SET string=%%A
SET modified=!string:%oldstr3%=%newstr3%!
SET modified=!modified:%oldstr5%=%newstr5%!
echo !modified! >> %OUTTEXTFILE%
)
del %%x
copy %OUTTEXTFILE% %%x
del %OUTTEXTFILE%
echo location %%x >> LOG_FOR_ENTRIES_%date:~4,2%%date:~7,2%%date:~10,4%%time:~0,2%%time:~3,2%%time:~6,2%%.txt
)