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

我这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

突然来了点灵感,给你来一行另类的。
注意,代码只有一行。。

批处理 放在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"
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-11-22
思路,你看一下你下面大概有多少个文件,如果是以数字开头的那么,最大的TXT编号是多少,那么你在执行替换之前 用
for i=1 to 最大值
用过i来自动替换文件名,在通过FSO对文件是否纯在做个判断
如果存在就执行2此替换
如果不错在就不执行
next

如何用批处理结合VBS实现批量替换修改txt文本???
注意,代码只有一行。。批处理 放在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",...

txt文档部分内容的替换 批处理程序怎么编?
把一下内容保存为一文本文件,然后命名为“替换.vbs ”然后把你要替换的文本拖到次文件上按照提示来操作即可 '批量文件字符串替换器 'Created By 千寂孤城 'on error resume next set arg=WScript.Arguments if arg.count=0 then msgbox "Usage:"&vbcrlf&vbcrlf&" 不要直接运行这个脚本,把需要进行...

批处理批量替换txt内容指定文字,输出结果中文乱码问题,怎么解决...
word1:你好=替换后!" set "word2=!word1!" echo,!word2! >>"%%~ni.tmp" ) del "%%~i" "%%~i.ansi" \/f \/q set aCode=GB2312 set bCode=UTF-8 call :CreatConvertTool ConvertTool.vbs "%%~ni.

求个替换文本内容的批处理或vbs
注意:贴出来的批处理再复制过去要删去多余的空格,否则运行错误。很奇怪贴了几次还是一样,如果你自己还是弄不好,你给我消息留下邮箱我把批处理文件发你。echo off&cd.>okA.txt for \/f "delims=" %%i in ('type A.TXT') do (set "str1="&set "str=%%i"&call:pd setlocal EnableDelayed...

求个替换文本内容的批处理或vbs
echo "!a!">>b.txt)del a.txtren b.txt a.txt将这个比处理保存以后,点开始-控制面板-计划任务-创建任务 在触发器里设置出发条件和重复间隔 在操作了选择要启动的批处理 在常规里设置计划任务的名称,并点确定 按这样操作完,你指定的批处理程序就会在开机以后每小时运行1次了。。。

怎样大量修改文本内容?
大量文本的话用VBS吧,效率比批处理高:'Const ForWriting = 2 Const ForReading = 1 ' 以下路径按实际更改 strFolder = "e:\\temp"Set FSO = CreateObject("Scripting.FileSystemObject")Set objFolder = FSO.GetFolder(strFolder)Set colFiles = objFolder.Files 'For Each objFile in colFiles ...

批处理 bat 匹配修改txt里面内容
file="1.txt" '文件名 acc="123456" '要替换的内容 set fso=createobject("scripting.filesystemobject")read=fso.opentextfile(file).readall for each ist in split(read,vbcrlf)if instr(ist,chr(34)&"name"&chr(34)&":")>0 then res=res&chr(34)&"name"&chr(34)&":"&chr(34...

求修改txt内容的vbs或者批处理
echo off setlocal enabledelayedexpasion for \/f "delims=" %%i in (123.txt) do (set\/a n+=1 echo %%i>>temp.txt set m=!n!%5 if m==0 echo --->>temp.txt)

怎么将TXT里面的指定第5行替换掉,批处理VBS或其他都可以!
1. 打开Tools->Batch Runner菜单 2. 点击Search Files按钮:在Filename filter栏输入qq.txt 在Search Directory输入父目录所在位置d:\\qq 选中Search subdirectory选项搜索子目录 点击Search,搜索完成后关闭该窗口 3. 这时所有qq.txt被搜出,点击Fast Replace按钮打开Fast Replace窗口 点击Add按钮 在Search=...

dos(批处理)或VBS脚本批量重命名及修改批量修改文件内容
)>"%%i.txt")pause 测试:1234.csv(Excel保存的逗号分隔符文件)用记事本打开内容是:8A18517507,002185EE0E39 8A12345678,001d92123456 8A12345679,001d92123457 运行结果:文件:8A12345678.txt 内容:S\/N:8A12345678 Writing MAC 001d92123456 Write MAC (001d92123456)文件:8A12345679.txt 内容:S\/N:...

相似回答