@echo on
REM --- File Name:ReplaceString.bat-----
REM ---Call Method----
REM ---ReplaceString "SrcFileName" "TargetFileName" "SrcStr" "TargetStr" ----
setlocal enabledelayedexpansion
REM ---File Name : Replace.bat ----------
REM ---Start Parse parameters--------------
REM ---All the parameters must be qualified with double quotation (")--------------
REM ---The first parameter (%1) is the source file name with file extension--------------
REM ---The second parameter (%2) is the target file name with file extension --------------
REM ---The third parameter (%3) is the string which will be replaced --------------
REM ---The fourth parameter (%4) is the string with which will be replaced --------------
set SrcFileName=%1
REM --- Remove " from string-------------------
set SrcFileName=%SrcFileName:"=%
set SrcFileName=%SrcFileName:~0,-1%
set TargetFileName=%2
REM --- Remove " from string-------------------
set TargetFileName=%TargetFileName:"=%
set TargetFileName=%TargetFileName:~0,-1%
set SrcStr=%3
REM --- Remove " from string-------------------
set SrcStr=%SrcStr:"=%
set SrcStr=%SrcStr:~0,-1%
set TargetStr=%4
REM --- Remove " from string-------------------
set TargetStr=%TargetStr:"=%
set TargetStr=%TargetStr:~0,-1%
echo ReplaceString.bat Parameters
echo "%SrcFileName%"
echo "%TargetFileName%"
echo "%SrcStr%"
echo "%TargetStr%"
REM ---End Parse parameters--------------
REM ---Replacing and wrinting Target File--------------
if exist "%TargetFileName%" (del "%TargetFileName%")
set lineStart=2
for /f "tokens=1* delims=" %%i in ('findstr /n .* "%SrcFileName%"') do (
set line=%%i
if "!line:~1,1!"==":" (
if "!line:~2!"=="" (
echo.>>"%TargetFileName%"
) else (
set "line=!line:~2!"
set "line=!line:%SrcStr%=%TargetStr%!"
echo !line! >>"%TargetFileName%"
)
) else (
if "!line:~2,1!"==":" (
if "!line:~3!"=="" (
echo.>>"%TargetFileName%"
) else (
set "line=!line:~3!"
set "line=!line:%SrcStr%=%TargetStr%!"
echo !line! >>"%TargetFileName%"
)
) else (
if "!line:~3,1!"==":" (
if "!line:~4!"=="" (
echo.>>"%TargetFileName%"
) else (
set "line=!line:~4!"
set "line=!line:%SrcStr%=%TargetStr%!"
echo !line! >>"%TargetFileName%"
)
)
)
)
)
REM ---End of BAT--------------