中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-05 10:26
48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 怎样在dos下用批处理去修改文本文件内容
可打印版本  2,413 / 9
第1楼 rx79 发表于 2006-05-10 20:06
新手上路 发帖 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 ]
第2楼 rx79 发表于 2006-05-11 00:36
新手上路 发帖 4 积分 16
嗯,翻了翻旧帖。结果用change+if解决问题了。

谢谢
第3楼 senffon 发表于 2006-05-13 22:49
初级用户 发帖 66 积分 118
遇到过同样问题,你既然解决了,就把代码贴出来充实一下论坛啊!这个做法不厚道啊
第4楼 senffon 发表于 2006-05-13 22:51
初级用户 发帖 66 积分 118
我的问题是,有次下了四百多部htm格式的电子小说,不过不爽的是每一页中都含有相同的广告代码!我想用批处理来删除掉!如何做?
第5楼 BWSkyer 发表于 2006-05-15 19:39
中级用户 发帖 180 积分 367 来自 重庆
BAT也没有这么强啊。。他不是编程语言。
第6楼 wind_7th 发表于 2006-05-23 15:14
初级用户 发帖 13 积分 142
用sed更方便,sed很强
第7楼 ick 发表于 2006-05-30 00:17
初级用户 发帖 12 积分 28
Originally posted by senffon at 2006-5-13 22:51:
我的问题是,有次下了四百多部htm格式的电子小说,不过不爽的是每一页中都含有相同的广告代码!我想用批处理来删除掉!如何做?


可以用DW,整站查找替换源码。我经常用
第8楼 weizhengguo 发表于 2007-08-03 14:58
初级用户 发帖 8 积分 20
Originally posted by senffon at 2006-5-13 10:49 PM:
遇到过同样问题,你既然解决了,就把代码贴出来充实一下论坛啊!这个做法不厚道啊



是的。我正需要这样的解决方法。
第9楼 gzbbj 发表于 2007-08-03 18:53
新手上路 发帖 5 积分 14
抄袭了些前辈的经验,看看行不行?:)

@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的.应该可以,我试过了.
第10楼 slore 发表于 2007-08-03 20:15
铂金会员 发帖 2,478 积分 5,212
VBS可以完成……
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023