1.需求:在windows环境安装软件客户端时,经常要改配置文件,比如将线上域名改为测试环境的域名
2.思路:用bat脚本处理,将域名A替换为域名B
3.脚本如下
@echo off&setlocal enabledelayedexpansion
rem 读取root.cfg文件所有内容
for /f "eol=* tokens=*" %%i in (C:\这里是文件路径\root.cfg) do (
rem 设置变量a为每行内容
set a=%%i
rem 如果该行有www.csdn.com,则替换为test.csdn.com.如果要替换多处,则写多个set
set "a=!a:www.csdn.com=test.csdn.com!"
set "a=!a:onlineIP=testIP!"
rem 把修改后的全部行存入$
echo !a!>>$ )
rem 用$的内容替换原来root.cfg内容
move $ C:\这里是文件路径\root.cfg
pause
4.注意有坑:如果路径中有中文,那编辑的时候要在ANSI编码模式下。如果文件路径中有空格,这个脚本无法执行,比如C:\Program Files (x86)\XXX,常见的Program Files (x86)文件夹就含有空格。所以尽量将文件放在无空格路径下!后续发现空格解决方案,再来补充。