VBS脚本实现遍历批量替换多目录多文件内容的代码
提供一种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 (回车符)
' (单引号)
"" (双引号,在字符串内用两个双引号表示)
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















