при таком содержимом
2.bat
@Echo Off
Set ""
Set "var=4.4.4.4"
pause
и коде:
Код:

@echo off
set "f1=1.txt"
set "f2=2.bat"
set ns=4
<"%f1%" (set /p=& set /p s2=)
<"%f2%">+ (for /f "tokens=1* delims=[]" %%a in ('find /n /v ""') do @echo [%%a]|>nul find "[%ns%]" && (
echo Set "var=%s2%"
) || (
<nul set /p="%%b"& echo:
)
)& >nul move+ "%f2%"
pause
получим вывод (новое содержимое)
2.bat
@Echo Off
Set ""
Set "var=3.3.3.3"
pause