中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎样在dos下用批处理去修改文本文件内容
作者:
标题: 怎样在dos下用批处理去修改文本文件内容 上一主题 | 下一主题
rx79
新手上路





积分 16
发帖 4
注册 2006-4-16
状态 离线
『楼 主』:  怎样在dos下用批处理去修改文本文件内容

我现在只知道有个findstr的命令,这个只能用来找到想要修改的字符,但是找到后用什么命令处理我就不知道了,想请教各位高手。

例如。在dos7。1英文环境下,要编辑a.txt

现在我想创建一个批处理文件,其作用是:
当发现a.txt文件中存在“a=10”这行内容的话,将10修改为0,如果发现本来“a=0"的话,则继续下面的批处理。
当发现存在“b=我”的这一行文字的话,将此行文字删除(此行文字不一定在文本的最后,可能在中间,但肯定独占一行),如不存在“b=我”的话,则添加“b=你"到a.txt(追加命令我知道“〉〉”只是想知道能否添加插入到具体位置,比如第N行)

谢谢,有劳各位费心了。

如果在纯dos下没有解决方法的话,只要能在xpsp2或98下能起到同样效果的解决方法也行。感谢

P.S.本人编程盲,也只用批处理自己做过启动盘类的小玩艺。

[ Last edited by rx79 on 2006-5-10 at 21:13 ]

2006-5-10 20:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复
rx79
新手上路





积分 16
发帖 4
注册 2006-4-16
状态 离线
『第 2 楼』:  

嗯,翻了翻旧帖。结果用change+if解决问题了。

谢谢

2006-5-11 00:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
senffon
初级用户





积分 118
发帖 66
注册 2005-10-21
状态 离线
『第 3 楼』:  

遇到过同样问题,你既然解决了,就把代码贴出来充实一下论坛啊!这个做法不厚道啊

2006-5-13 22:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
senffon
初级用户





积分 118
发帖 66
注册 2005-10-21
状态 离线
『第 4 楼』:  

我的问题是,有次下了四百多部htm格式的电子小说,不过不爽的是每一页中都含有相同的广告代码!我想用批处理来删除掉!如何做?

2006-5-13 22:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
BWSkyer
中级用户

我是DOS学者


积分 367
发帖 180
注册 2006-5-14
来自 重庆
状态 离线
『第 5 楼』:  

BAT也没有这么强啊。。他不是编程语言。

2006-5-15 19:39
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (309843581)  编辑帖子  回复  引用回复
wind_7th
初级用户




积分 142
发帖 13
注册 2004-7-4
状态 离线
『第 6 楼』:  

用sed更方便,sed很强

2006-5-23 15:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ick
初级用户




积分 28
发帖 12
注册 2006-5-29
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by senffon at 2006-5-13 22:51:
我的问题是,有次下了四百多部htm格式的电子小说,不过不爽的是每一页中都含有相同的广告代码!我想用批处理来删除掉!如何做?

可以用DW,整站查找替换源码。我经常用

2006-5-30 00:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
weizhengguo
初级用户





积分 20
发帖 8
注册 2007-8-2
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by senffon at 2006-5-13 10:49 PM:
遇到过同样问题,你既然解决了,就把代码贴出来充实一下论坛啊!这个做法不厚道啊

是的。我正需要这样的解决方法。

2007-8-3 14:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
gzbbj
新手上路





积分 14
发帖 5
注册 2007-8-3
状态 离线
『第 9 楼』:  

抄袭了些前辈的经验,看看行不行?:)

@echo off
call :replace my.txt aaa bbb  >>my1.txt

goto :eof

:replace
    setlocal ENABLEDELAYEDEXPANSION
    for /f "tokens=1* delims=" %%i in (%1) do set var=%%i & echo !var:%2=%3!
    endlocal
goto :eof


以上代码是把aaa替代成bbb的.应该可以,我试过了.

2007-8-3 18:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 10 楼』:  

VBS可以完成……

2007-8-3 20:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: