Board logo

标题: 怎样在dos下用批处理去修改文本文件内容 [打印本页]

作者: rx79     时间: 2006-5-10 20:06    标题: 怎样在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 ]
作者: rx79     时间: 2006-5-11 00:36
嗯,翻了翻旧帖。结果用change+if解决问题了。

谢谢
作者: senffon     时间: 2006-5-13 22:49
遇到过同样问题,你既然解决了,就把代码贴出来充实一下论坛啊!这个做法不厚道啊
作者: senffon     时间: 2006-5-13 22:51
我的问题是,有次下了四百多部htm格式的电子小说,不过不爽的是每一页中都含有相同的广告代码!我想用批处理来删除掉!如何做?
作者: BWSkyer     时间: 2006-5-15 19:39
BAT也没有这么强啊。。他不是编程语言。
作者: wind_7th     时间: 2006-5-23 15:14
用sed更方便,sed很强
作者: ick     时间: 2006-5-30 00:17


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

可以用DW,整站查找替换源码。我经常用
作者: weizhengguo     时间: 2007-8-3 14:58


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

是的。我正需要这样的解决方法。
作者: gzbbj     时间: 2007-8-3 18:53
抄袭了些前辈的经验,看看行不行?:)

@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的.应该可以,我试过了.
作者: slore     时间: 2007-8-3 20:15
VBS可以完成……