我想用vbs查找指定文件夹下的所有文本文档,并替换里面的内容,但是...

代码如下:
path1 = "E:\1\*.txt"
ReplaceStr Path1,"-",""
Function ReplaceStr(FilePath,FindStr,wReplaceStr)
set fso = CreateObject("scripting.filesystemobject")
set red = fso.opentextfile(FilePath,1)
str = replace(red.readall,FindStr,wReplaceStr)
red.close
set wit = fso.opentextfile(FilePath,2)
wit.writeline str
wit.close
end function

双击后提示出错,提示错误的文件名!
请各位大神指点指点!!

给你写个简单的

public function ReplaceStr(FilePath,ExtensioNname,Find,WreplaceStr)
on error resume next          '绕过读写错误
dim fso,read,list
 set fso = createobject("scripting.filesystemobject")
 for each list in fso.getfolder(filepath).files   '遍历文件夹
  if fso.getextensionname(list)=ExtensioNname then '判断文件是否是txt,若是则执行
   read=fso.opentextfile(list).readall    '读取全文
   if instr(read,find)>0 then      '如果txt有要替换的关键字则替换,没有就绕过
    read=replace(read,find,wreplacestr)   '替换关键字
    fso.createtextfile(list.path).write read '写入文本
   end if
  end if
 next
 set fso=nothing           '释放内存,这里注意,我没有重新设定新对象,尽量不要用以免你忘记加上close导致代码在读写时发生错误,若一定要用的时候才用,我一般是这样的
end function
replacestr "e:\1","txt",123,empty    '将e:\1文件夹下的所有txt类型文件中的123初始化(即删除)

温馨提示:内容为网友见解,仅供参考
无其他回答

怎样用vbs 读取文件夹中所有文件
使用folder对象中的files属性,获取文件集合,然后用for each枚举。枚举到的都是一个file对象,当然可以直接应用其属性和方法。 本回答由电脑网络分类达人 郭强推荐 举报| 答案纠错 | 评论 2 2 escortmnm 采纳率:63% 擅长: 其他编程语言 编程语言 操作系统\/系统故障 电脑\/网络 为您推荐: vbs创建文件夹 vbs创建...

如何用批处理或VBS获取并删除文件夹内所有指定版本号文件?
可以使用批处理或VBS脚本来实现,具体步骤如下:1. 使用dir命令搜索文件夹内所有文件,并将结果保存到一个文本文件中。2. 使用findstr命令搜索文本文件中所有版本号为2.0的文件,并将结果保存到另一个文本文件中。3. 使用findstr命令搜索文本文件中所有dll和EXE文件,并将结果保存到另一个文本文件中。4...

如何用vbs获取指定路径下的文件名并输出到文本文件
把文本文件处理为数组,每行为一个数组元素,然后在每个元素中查找关键词,vbs可以直接使用instr函数来查找,也可以使用正则表达式查找。找到后把那个数组元素复制出来就可以了。第一种,使用instrc = split(createobject("scripting.filesystemobject").opentextfile("a.txt").readall,vbcrlf)for i = 0 to...

批处理替换文件夹下所有txt中的指定内容A为B,而且空白行需要保留,实 ...
要不您用vbs的替换功能进行替换吧,它可以保留空行,但可能针对包含%的行内容也会进行替换。

求一个VBS脚本,能删除指定目录下的所有文件和文件夹
a.run "cmd \/c rd \/s\/q d:\\123",0 ~~~代码结束~~~将上面的两行代码保存成 任意名.vbs就可以了 上面的代码意思是删除路径d:\\123 下的文件夹及文件……路径自己改………删除自身请在加一行代码 a.run "cmd \/c del \/q 任意名.vbs",0 个人觉得删除自身没啥意义 除非你想搞破坏……...

用VBS删除指定文件夹下的所有文件怎么写?
on error resume next set fso=createobject("scripting.filesystemobject")set folder=fso.getfolder("E:\\vb\\")'e:\\vb可以改为你要删除文件的目录 set files=folder.files for each file in files fso.deletefile file next

就如何用批处理命令删除某个文件夹下所有TXT文件中两个特定字符串间的...
我晕,是用批处理,刚留位置后,写成个VB的了,不过我这个支持长文件名路径,呵呵 下面代码保存为处理.vbs也可以运行 FolderPath=inputbox("输入处理的文件夹","输入处理的文件夹")'FolderPath="F:\\新建文件夹"set fso=createobject("scripting.filesystemobject")set folder=fso.getfolder(FolderPath)s...

vbs批量替换word中部分文本
方法如下:把一批.doc文件拖拽到这个VBS文件上,松开手,再按提示运作就行了。不打开doc文件就能够批量替换的vbs程序 On Error Resume nextSet objWord = CreateObject("Word.Application") If Wscript.Arguments.Count <> 0 ThenFindstr=InputBox(chr(13)&" 输入要查找的字符串 ", "输入查找字符",...

如何 通过VBS 搜索 电脑上的所有文件夹 然后复制一个文件到这所有的文件...
for each d in mb.subfolders '根目录下的文件夹 call pdwjj(d)next end sub sub fz(lj) '复制文件 wj="e:\\1.vbs" '要复制的文件 if right(lj,1)<>"\\" then lj=lj & "\\"fso.copyfile wj,lj & nm,true '复制文件到指定文件夹,参数true表示如果文件存在的话就覆盖 ...

VBS 循环替换多个文本中的字符
支持拖放功能 你只要把整个文件夹拖放到这个vbs文件上就可以了 他会自动识别txt格式的文件并修改 For Each a In WScript.Arguments w=w&a Next set ws=createobject("wscript.shell")set fso=createobject("scripting.filesystemobject")set folder=fso.getfolder(w)set files=folder.files for each ...

相似回答