如何用批处理结合VBS实现批量替换修改txt文本???

我这D:\1\目录里有很多TXT文档,1.txt,2.txt,3.txt.........里面有2处内容需要替换:“name=1”替换成“name=19”,还有“path... 我这D:\1\目录里有很多TXT文档,1.txt,2.txt,3.txt.........
里面有2处内容需要替换:
“name=1”替换成“name=19”,
还有“path=e:game”替换成“path=e:\game”
因为bat很难实现对txt的替换,我这有2个VBS分别替换2处,要运行2个VBS才可以替换成功1个txt文本,问题是运行1次bat不可以打开2个vbs,而且郁闷的是要指定路径D:\1\1.txt,这样每次要修改,有没有可以结合bat和vbs同时批量替换2处的,谢谢!下面是我的代码:

Set FSO = Nothing
Dim strFile: strFile = "D:\1\1.txt"
Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject")
Dim objFile: Set objFile = FSO.OpenTextFile(strFile)
Dim strContent: strContent = objFile.Readall
objFile.Close

Dim objRegEx: Set objRegEx = CreateObject("VBScript.RegExp")
objRegEx.Global = True
objRegEx.IgnoreCase = True
objRegEx.Pattern = "path=e:game"
Dim objNewText: objNewText = objRegEx.Replace(strContent,"path=e:\game")

Dim objTextFile: Set objTextFile = FSO.CreateTextFile("D:\1\1.txt")
objTextFile.Write objNewText
objTextFile.Close

Set FSO = Nothing
展开
 我来答
奥泼提迷死题客
2009-11-22 · TA获得超过3429个赞
知道大有可为答主
回答量:1627
采纳率:0%
帮助的人:2356万
展开全部
突然来了点灵感,给你来一行另类的。
注意,代码只有一行。。

批处理 放在txt文件夹下运行

@echo off& for %%1 in (*.txt)do mshta vbscript:createobject("scripting.filesystemobject").opentextfile("wind-%%~1",2,true).writeline(replace(replace(createobject("scripting.filesystemobject").opentextfile("%%~1",1).readall,"name=1","name=19"),"path=e:game","path=e:\game"))(window.close)&& move "wind-%%~1" "%%~1"
最强宠物
2009-11-22 · 超过27用户采纳过TA的回答
知道答主
回答量:97
采纳率:0%
帮助的人:41.7万
展开全部
思路,你看一下你下面大概有多少个文件,如果是以数字开头的那么,最大的TXT编号是多少,那么你在执行替换之前 用
for i=1 to 最大值
用过i来自动替换文件名,在通过FSO对文件是否纯在做个判断
如果存在就执行2此替换
如果不错在就不执行
next
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式