中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 任何批处理替换文本指定行【已解决】
作者:
标题: 任何批处理替换文本指定行【已解决】 上一主题 | 下一主题
jzsgyml
新手上路





积分 1
发帖 1
注册 2010-1-22
状态 离线
『楼 主』:  任何批处理替换文本指定行【已解决】

某文件夹下有很多配置文件,大体内容差不多的,现在修改每个文件中的一个值,但是这个值在文本中多次存在,如何替换?

以下是每个文件的内容格式:
[a]
...
run=TRUE

...
run=TRUE
[C]
...
run=TRUE

现在要将[C]下面的 run=TRUE 替换为 run=FALSE
而且该文件夹所有文件都要替换,该文件夹文件命名为465647.INI。都是数字命名

[ Last edited by jzsgyml on 2010-2-26 at 15:04 ]

2010-2-23 10:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
sysplay
初级用户





积分 23
发帖 19
注册 2009-7-10
状态 离线
『第 2 楼』:  


@echo off
setlocal enabledelayedexpansion
for %%i in (*.ini) do (
        set flag=0
        for /f %%j in (%%i) do (
                set str=%%j
                if /i "!str!"=="[C]" set flag=1
                if "!flag!"=="1" if /i "!str!"=="run=TRUE" (
                                                set "str=run=FALSE"
                                                set flag=0
                                                )
                echo !str!>>_%%i
        )
rename %%i %%i.txt
rename _%%i %%i
)


2010-2-25 21:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: