VBS脚本实现遍历批量替换多目录多文件内容的代码
作者:SunnyJourney
时间:2026-06-29
浏览:0
提供一种VBS脚本方案,可批量替换嵌套子目录下所有htm文件内容。通过dir命令生成文件列表,利用FileSystemObject逐文件读取、替换并写回,实现快速批量处理。需注意字符串中转义字符的处理。无需安装其他软件,操作简便高效可靠。
在日常工作中,经常需要批量替换文件内容——尤其是当文件夹里嵌套着多个子目录,每个目录下又有成百上千个 htm 文件的时候。手动一个个改?效率太低。这里提供一个用 VBS 脚本快速解决的方案,逻辑清晰,上手就能用。

把下面的代码复制到记事本里,保存后将文件后缀名改为 .vbs,然后双击运行即可。
Set WshShell = CreateObject("Wscript.Shell")
WshShell.Run "cmd /c dir /s/b *.htm > list.htm",vbHide
Wscript.Sleep 1000
sFile = "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 If
Loop
oFile.Close
objFSO.DeleteFile sFile
Set objFSO = Nothing
这条命令 cmd /c dir /s/b *.htm > list.htm 的作用是把当前目录以及所有子目录下的 htm 文件路径都列出来,并保存到一个名为 list.htm 的临时文件中。
文件内容的替换则依靠 VBS 内置的 FileSystemObject 对象来完成,逐文件读取、替换、写回。如果对 FileSystemObject 的操作细节不太熟悉,可以查阅相关文档进行了解。
有一点需要注意:如果替换的字符串本身包含转义字符,要在代码中做相应处理。VBScript 中常见的转义字符如下:
/ (反斜杠)
VbCrLf (换行符,用来表示重起一行)
VbTab (水平制表符)
Chr(8) (退格符)
vbCr (回车符)
' (单引号)
"" (双引号,在字符串内用两个双引号表示)
作者最新文章
图几
2026-09-16 17:43
SQL中ROUND函数对0.5的处理机制及强制四舍五入方法
2026-09-15 14:19
JS金额计算怎么避免四舍五入误差
2026-09-14 17:32
韩国8月携号转网数据:Galaxy Z8系列iPhone用户转化率约为Z7系列2倍
2026-09-08 17:02
AE基础教程:如何创建合成并制作关键帧动画
2026-09-04 09:27
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多


































