You have not studied the answer well enough on your second link - it has a solution that works fine.
, *]= :
@echo off
setlocal enableextensions disabledelayedexpansion
set "search=<Tool>"
set "replace=XYZ"
set "textFile=C:\abc.txt"
for /f "delims=" %%i in ('type "%textFile%" ^| find /v /n "" ^& break ^> "%textFile%"') do (
set "line=%%i"
setlocal enabledelayedexpansion
set "line=!line:*]=!"
if defined line set "line=!line:%search%=%replace%!"
>>"%textFile%" echo(!line!
endlocal
)
- append , , . , , MOVE temp.
FINDSTR FIND - .
@echo off
setlocal enableextensions disabledelayedexpansion
set "search=<Tool>"
set "replace=XYZ"
set "textFile=C:\abc.txt"
>"%textFile%.new" (
for /f "delims=" %%i in ('findstr /n "^" "%textFile%"') do (
set "line=%%i"
setlocal enabledelayedexpansion
set "line=!line:*:=!"
if defined line set "line=!line:%search%=%replace%!"
echo(!line!
endlocal
)
)
move /y "%textFile%.new" "%textFile%" >nul
, . , . - . :
=* !- replace
! - , /
", , &, | ..
JREPL.BAT find/replace utility. , . script ( /JScript ), Windows XP, exe .
, / .
call jrepl "<Tool>" "XYZ" /l /f "C:\abc.txt" /o -