本帖最后由 lamcelot 于 2017-3-2 09:31 编辑
某程序有config.ini文件,想要通过批处理修改里面address=字段后面的服务器ip指向,但是不能去除空行- @echo off
-
- setlocal enabledelayedexpansion
-
- set fileName=config.ini
-
- set /p ip=10.0.0.
-
- (for /f "delims=" %%i in ('type "%fileName%"') do (
- set "ipAddress=%%i"
- if "!ipAddress:address=!" neq "%%i" (
- echo address=10.0.0.%ip%
- ) else (
- echo,%%i
- )
- ))>%fileName%.temp
- move /y %fileName%.temp %fileName%
-
-
- pause
复制代码 修改程序的ini配置文件里面address=后面的ip地址目前已经可以实现。但是执行后会删除掉文件里面所有的空行。。。求大神指教
下面贴出关键部分的ini内容
;补打POS票据
gv_pos_bankinfo_bl=1
[server]
AppServer=10.0.0.34
10.0.0.34
login_appserver=10.0.0.34
[yb]
work_dir=C:\mzsf
code=02110003
dsn_name=ybdb
dsn_user=sa
dsm_passwd=123
dsn_passwd=123
还有一个问题,if默认是会区分大小写的,但是我的代码竟然会把login_appserver这行也给替换了,LZ现在很头疼正在考虑正则表达式或者findstr |