批处理 替换文本中指定内容

有一个文本内容如下,文本中有一行写有IP,行数会变动,这个IP也是随机的,需要通过批处理找到这个IP改成本机IP。如何通过批处理修改<add key="IP" value="192.168.23.4" />中的IP为本机IP。
以下为示例代码a.txt。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="IP" value="192.168.23.4" />
<add key="LocalIP" value=" 192.168.86.131" />
<add key="LocalServeVNC" value=" 202.32.54.47" />
<add key="QueueServerFormTitle" value="界面" />
</appSettings>
</configuration>

@echo off & title 修改文件中IP地址 By 依梦琴瑶

::设置待修改的文件
set File=a.xml

::获取本机IP
for /f tokens^=1^,2^ delims^=^"^" %%a in ('wmic nicconfig get IPAddress /value ^| findstr /i "IPAddress=[^]"') do set "LocalIP=%%b"

::修改文件
(for /f "delims=" %%a in ('type "%File%"') do (
    echo "%%~a"|findstr /i /c:"<add key=\"IP\" value=" >nul && (
        echo ^<add key="IP" value="%LocalIP%" /^>
    ) || (
        echo %%~a
    )
))>File_Tmp$
move /y File_Tmp$ "%File%">nul
pause

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-11-05
比替换第5行abc第3行abc 办
相似回答