标题: [文本处理] 批处理如何查找指定ini文件里的特定内容并修改/替换相关参数值? [打印本页]
作者: TCM 时间: 2015-11-5 22:02 标题: 批处理如何查找指定ini文件里的特定内容并修改/替换相关参数值?
本帖最后由 pcl_test 于 2016-6-15 21:29 编辑
比如,我有一个A.INI文件,用批处理查找
# basedir1 = .....
# basedir2 = .....
# basedir3 = .....
# basedir4 = .....
分别替换为
basedir1=C:\WEB\
basedir2=D:\WEB\
basedir3=E:\WEB\
basedir4=F:\WEB\
求各位大神帮忙详细写下吧!
作者: DAIC 时间: 2015-11-5 22:10
- sed "s/# basedir1 =.*/basedir1=C:\\WEB\\/; s/# basedir2 =.*/basedir2=D:\\WEB\\/; s/# basedir3 =.*/basedir3=E:\\WEB\\/; s/# basedir4 =.*/basedir4=F:\\WEB\\/" a.ini > b.ini
复制代码
作者: TCM 时间: 2015-11-5 22:24
能不能不用第三方,直接用批处理写出来呢?请大神给出个完整代码
作者: DAIC 时间: 2015-11-5 22:33
- @echo off
- setlocal enabledelayedexpansion
- (for /f "delims=" %%i in ('type "a.ini"') do (
- set "str1=%%i"
- if "!str1:# basedir1 =!" neq "%%i" (
- echo basedir1=C:\WEB\
- ) else if "!str1:# basedir2 =!" neq "%%i" (
- echo basedir2=D:\WEB\
- ) else if "!str1:# basedir3 =!" neq "%%i" (
- echo basedir3=E:\WEB\
- ) else if "!str1:# basedir4 =!" neq "%%i" (
- echo basedir4=F:\WEB\
- ) else (
- echo,%%i
- )
- ))>b.ini
复制代码
作者: TCM 时间: 2015-11-5 23:09
呵呵,太感谢了,完美解决了问题
作者: houxiren 时间: 2016-6-15 17:41
回复 4# DAIC
先生,您好。如果要保留成原来的文件名a.ini怎么办?
作者: gawk 时间: 2016-6-15 20:15
回复 6# houxiren
4楼代码末尾加一行:复制代码
作者: houxiren 时间: 2016-6-16 22:09
回复 7# gawk
谢谢您。实现了目的。
作者: houxiren 时间: 2016-6-22 12:49
本帖最后由 pcl_test 于 2016-6-22 14:21 编辑
回复 7# gawk
gawk先生好。又来请教,谢谢。
http://www.bathome.net/thread-40809-1-1.html
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |