Без временных файлов:
Код:
@echo off
setlocal enabledelayedexpansion
set "cfg=%~dp0test.cfg"
call:getlinenumbers "!cfg!" n
call:setaltdata "!cfg!" !n!
more < "%~dp0test.cfg:s" > "!cfg!"
endlocal
exit /b
:getlinenumbers
for /f %%i in ('find /v /c "" ^< "%~1"') do set "%~2=%%i"
exit /b
:setaltdata
3<"%~1" (for /l %%i in (1, 1, %2) do (
<nul set /p s=<&3
call:replace dynamic.enabled 1 0
call:replace defaultimage default image
echo !s!
))>>"%~1:s"
exit /b
:replace
echo !s!|>nul findstr /irc:"%~1"&set "s=!s:%~2=%~3!"
exit /b