Погодите трошки. Сейчас накидаю.
Код:
@echo off
setlocal enabledelayedexpansion
for /r D:\test %%i in (*.ini) do call:patch "%%i"
endlocal
exit /b
:getlines
for /f %%i in ('find /c /v "" ^< "%~1"') do set "#=%%i"
exit /b
:replace
3<"%~1" (for /l %%i in (1,1,!#!) do (
set /p s=<&3
for /f "tokens=1,* delims==" %%i in ("!s!") do (
if /i "%%i" equ "postmark" (
echo:%%i=1024
) else if /i "%%i" equ "docversion" (
echo:%%i=RTM003-13-17
) else if "!s:~0,1!" equ "[" (
echo.
echo:%%i
) else echo:%%i=%%j
)
))>>"%tmp%\ini000.tmp"
move "%tmp%\ini000.tmp" "%~1" >nul
exit /b
:patch
call:getlines "%~1"
call:replace "%~1"
exit /b