Bat脚本分为两部分文件。
1.All.bat [用来调用子脚本]
2.子bat脚本 [用来修改文件]
------------------------
1 All总脚本
------------------------
@echo off
##解决一切乱码,包括cd 中文路径,start调用中文路径
Chcp 65001>nul
##子bat脚本路径
cd C:\Users\小杨子1125\Desktop\bat脚本修改配置文件\
##通过这个命令可以实现 start子脚本隐藏,也就是说启动ALL脚本后,windows界面只会有这么一个cmd窗口,
##子集窗口会后台运行
cmd /c C:\Users\小杨子1125\Desktop\bat脚本修改配置文件\xml文件修改[1].bat
echo 配置修改完成
##暂停给使用者提示作用,同时也可以使 上面的子集脚本和下面的子集脚本中的变量不冲突
pause
cmd /c C:\Users\小杨子1125\Desktop\bat脚本修改配置文件\xml文件修改[2].bat
echo 配置修改完成
pause
------------------------
2 子集脚本
------------------------
@echo off
##同样的解决乱码
Chcp 65001>nul
##自行修改 "F:\xxx" -- 文件路径 xxxx.xml 文件 [同时支持*类型的正则表达式]
for /r "F:\xxx" %%f in (xxxx.xml) do (
cd.>"%%~dpf~"
for /f "usebackq delims=" %%1 in ("%%~ff") do (
set ln=%%1
setlocal enabledelayedexpansion
##修改 ln:localhost ln对应的值为你想修改的数据
##修改 ln:localhost=192.168.192.111 "="后面的值为修改的数据
##也就是说把localhost改成192.168.192.111
set ln=!ln:localhost=192.168.192.111!
echo,!ln!
endlocal
)>>"%%~dpf~"
del /f /q "%%~ff"
cd /d "%%~dpf"
##修改".xml" 为你想要修改的文件后缀
ren "%%~dpf~" "%%~nf.xml"
)
exit /b
Ps:
上述标注为##,以Linux为基础,Bat不熟。,如果直接复制,使用时最后去掉##标注。上文的脚本也是通过其他大佬提供的修改后测试得出。
同时该脚本经过多次测试,支持修改.xml文件,解决!丢失问题,中文路径问题。