批量文件查找替换功能的vbs脚本
导读:收集整理的这篇文章主要介绍了批量文件查找替换功能的vbs脚本,觉得挺不错的,现在分享给大家,也给大家做个参考。 '====================================...
收集整理的这篇文章主要介绍了批量文件查找替换功能的vbs脚本,觉得挺不错的,现在分享给大家,也给大家做个参考。 '============================================ 'code by lcx 修改网上原有的一个小程序,不知作者,那个程序没有对目录实现递归查找
'将本程序放在你要查找的目录下,或把查找的目录拖到此脚本上,估计还有bug
'=======================================================================================
On Error Resume next
Do Until False
Findstr=InputBox("请输入你要查找的字符(串):", "请输入")
If Findstr > "" Then
ExIT do
End If
Loop
repwith=InputBox("请输入你要替换的字符(串):,如果留空则只为查找", "请输入")
If Wscript.arguments.Count > 0 Then
For i=0 To WScript.arguments.Count-1
folderpath=WScript.Arguments(i)
find(folderpath)
Next
Else
'处理当前目录
Set objShell = CreateObject("WScript.Shell")
folderpath=objShell.currentDirectory
find(folderpath)
End If
'替换主程序
Sub find(path)
set fso=CreateObject("Scripting.FileSystemObject")
set current=fso.GetFolder(path)
For each file In current.Files
set fsofile=fso.OPEnTextFile(file, 1, true)
On Error Resume next
tempstr=fsofile.Readall
If Instrrev(tempstr,Findstr, -1, 0)> 0 And repwith = "" Then
with Fso.opentextfile(left(Wscript.ScriptFullName,len(Wscript.ScriptFullName)-len(Wscript.ScriptName))& "\re.txt",8,true)
.writeline file
.close
end with
End If
If repwith > "" Then
tempstr=replace(tempstr, Findstr, repwith)
set fsofile1=fso.OpenTextFile(file, 2, true)
fsofile1.WriteLine tempstr
fsofile.close
End if
Next
for each folder in current.subfolders
Call find(folder.path)
next
set fso=nothing
End Sub
msgbox "OK,查找的文件名保存在re.txt"
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 批量文件查找替换功能的vbs脚本
本文地址: https://pptw.com/jishu/609568.html