中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-02 01:25
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 一个简单的查找替换要求 查看 1,106 回复 2
楼 主 一个简单的查找替换要求 发表于 2006-08-31 18:05 ·  中国 浙江 宁波 鹏博士宽带
新手上路
积分 7
发帖 2
注册 2005-11-25 23:27
20年会员
UID 45937
性别 男
状态 离线
我想在一个文本中找多个内容并替换,如何操作?
如:
A.txt

ASDSDKKASKDKASD,BAJSDKKSDSDLSDBB


要求查找A.txt中的A,用D替换;查找B,用F替换。
2 发表于 2006-08-31 21:30 ·  中国 四川 成都 鹏博士宽带
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  类似的问题论坛里已经有过比较多的讨论,请多用论坛的搜索功能查找你想要的答案,多潜水翻看旧帖是逛论坛的好习惯。

  怎么利用批处理替换文本文件中的指定内容 http://www.cn-dos.net/forum/viewthread.php?tid=22033&fpage=1&highlight=%E6%9B%BF%E6%8D%A2
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
3 发表于 2006-09-01 10:51 ·  中国 江苏 苏州 电信
中级用户
★★
过度热情
积分 321
发帖 139
注册 2006-03-21 17:19
20年会员
UID 52521
性别 男
状态 离线
Function SearchFile(filespec)
Const ForReading = 1,ForWriting=2
Dim fso, theFile, retchar(80),i
i=0
Set fso = CreateObject("Scripting.FileSystemObject")
Set theFile = fso.OpenTextFile(filespec, ForReading, False)
Do While theFile.AtEndOfLine <> True
retchar(i) =theFile.Read(1)
i=i+1
Loop
Maxrow=i
theFile.Close

For i=0 To Maxrow
if retchar(i)="A" then
retchar(i)="D"
End If
if retchar(i)="B" then
retchar(i)="F"
End If
Next
Set theFile = fso.OpenTextFile(filespec, ForWriting, False)
For i=0 to Maxrow
theFile.write(retchar(i))
Next
End Function

这个是最原始算法.. 可以用replace更方便
知识在于不断积累
论坛跳转: