中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-27 16:51
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]请教如何对同一个文件的多个字符进行替换? 查看 1,153 回复 6
楼 主 [求助]请教如何对同一个文件的多个字符进行替换? 发表于 2010-09-06 11:50 ·  中国 广东 佛山 联通
新手上路
积分 5
发帖 5
注册 2010-09-03 15:20
15年会员
UID 173528
性别 男
状态 离线
请教如何对同一个ini文件的多个指定字符进行批处理替换?

假如ini文件的内容如下:

a=100
b=200
c=300
d=400



需要把"b=200"替换成“b=210”,把"d=400"替换为"d=410",b,d的先后位置不固定。

替换后的结果:

a=100
b=210
c=300
d=410



请指点,谢谢!
2 发表于 2010-09-06 13:21 ·  柬埔寨
初级用户
★★
积分 99
发帖 53
注册 2006-08-18 18:44
19年会员
UID 60809
状态 离线
sed "/^b/s/200/210/; /^d/s/400/410/" urfile
3 发表于 2010-09-06 18:39 ·  中国 广东 佛山 联通
新手上路
积分 5
发帖 5
注册 2010-09-03 15:20
15年会员
UID 173528
性别 男
状态 离线
'sed' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
4 发表于 2010-09-06 19:01 ·  中国 广东 佛山 联通
新手上路
积分 5
发帖 5
注册 2010-09-03 15:20
15年会员
UID 173528
性别 男
状态 离线
希望代码更通用,我之前在论坛搜索,模仿别人用以下代码做替换:

for /f "delims=" %%l in (s.ini) do (
echo.%%l | find /i "b=210">nul && echo b=210||echo %%l)


不过只能做一个字符的替换。

想请教一下如果要做2个或2个以上的字符替换,不用sed可以怎样写?
5 发表于 2010-09-07 09:02 ·  中国 广东 佛山 联通
新手上路
积分 5
发帖 5
注册 2010-09-03 15:20
15年会员
UID 173528
性别 男
状态 离线
顶一下,想学习一下在这种情况下怎样做条件判断。
6 发表于 2010-09-07 21:00 ·  中国 吉林 长春 电信
初级用户
枫中残雪
积分 65
发帖 43
注册 2010-04-29 23:20
16年会员
UID 165810
性别 男
来自 吉林省长春市
状态 离线
7 发表于 2010-09-07 22:27 ·  中国 广东 佛山 联通
新手上路
积分 5
发帖 5
注册 2010-09-03 15:20
15年会员
UID 173528
性别 男
状态 离线
Originally posted by 726842270 at 2010-9-7 21:00:
http://www.bathome.net/thread-3981-1-1.html
感谢回复,不过能否具体指点一下?

我想用for语句做两次判断,但是判断的结果有误,所以在此请教,望不吝指教!
论坛跳转: