使用VBS脚本怎么实现遍历批量替换多目录多文件内容?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
Set WshShell = CreateObject("Wscript.Shell")WshShell.Run "cmd /c dir /s/b *.htm > list.htm",vbHideWscript.Sleep 1000sFile = "list.htm"Set objFSO = CreateObject("Scripting.FileSystemObject")Set oFile = objFSO.OpenTextFile(sFile,1)Do While Not oFile.AtEndOfStream strLine = oFile.ReadLine If Len(strLine) > 0 Then Set File = objFSO.OpenTextFile(strLine, 1) aryLines = File.ReadAll File.Close aryLines = Replace(aryLines, "需要替换的内容", "替换后的内容") Set File = objFSO.OpenTextFile(strLine, 2) File.Write aryLines File.Close End IfLoopoFile.CloseobjFSO.DeleteFile sFileSet objFSO = Nothing
cmd /c dir /s/b *.htm > list.htm就是将子目录中所哟的htm文件列出来保存到list.htm文件中。
文件替换就是通过vbs中的FileSystemObject实现批量替换,具体的可以参考这篇文章
如果替换的内容中包含有转义字符的话,需要注意转义一下
PS:VBScript的相关转义字符:
"/" (反斜杠)
VbCrLf (换行符,用来表示重起一行)
VbTab (水平制表符)
Chr(8) (退格符)
vbCr (回车符)
"'" (单引号)
/" - > "" (双引号)
看完上述内容,你们掌握使用VBS脚本怎么实现遍历批量替换多目录多文件内容的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!