找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25364|回复: 2

[文本处理] 如果写个BAT批处理修改XML文件内容

[复制链接]
发表于 2019-3-8 09:35:01 | 显示全部楼层 |阅读模式
大家好,我有个xml文件需要经常修改IP。怎么写个批处理自动修改啊、
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <CenterServerIp>10.32.20.2</CenterServerIp>
  <CenterServicePort>XXXXX</CenterServicePort>
  <ServicePath>CenterService/SyncUpload</ServicePath>
  <UnitSocketPort>XXX</UnitSocketPort>
  <UnitCode>320XXXX</UnitCode>
  <UnitName>XXXXXXXXX</UnitName>
  <NetStateTimer>300000</NetStateTimer>
  <UploadTimer>3600000</UploadTimer>
  <IsRfid>false</IsRfid>
</configuration>
想把10.32.20.2改成10.32.20.220
发表于 2019-3-8 10:25:52 | 显示全部楼层
  1. set oldFile=1.config
  2. set newFile=2.config
  3. powershell -command "& {[xml]$configFile= get-content %oldFile%;$configFile.configuration.CenterServerIp='10.32.20.220';$configFile.Save('%newFile%')}"
复制代码
发表于 2019-3-8 11:44:19 | 显示全部楼层
  1. @echo off
  2. title 有什么问题,可加QQ956535081及时沟通;代码可用,扫码头像,随意赞助
  3. cd /d "%~dp0"
  4. set "file=test.xml"
  5. powershell "$Utf8NoBom=New-Object System.Text.UTF8Encoding $False;$t=[IO.File]::ReadAllText('%file%', [Text.Encoding]::UTF8);$t=$t -replace '(?<=<CenterServerIp>)[^<]*','10.32.20.220';[IO.File]::WriteAllText('%file%', $t, $Utf8NoBom);"
  6. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 23:58 , Processed in 0.016149 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表