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)文件夹就含有空格。所以尽量将文件放在无空格路径下!后续发现空格解决方案,再来补充。
批量修改配置文件之BAT脚本实践
本文介绍了一种在Windows环境下使用BAT脚本批量修改配置文件中域名的方法,适用于软件客户端安装过程中的环境切换需求。脚本能将特定字符串(如线上域名)替换为另一字符串(如测试域名),并提供了注意事项,包括文件路径中避免中文和空格。
3599





