【发布时间】:2020-03-09 05:52:18
【问题描述】:
我正在尝试编写一个 VBS 脚本,该脚本将循环浏览多个文本文件并将多个关键字替换为其他词,例如用 GJA 替换 1ECODE。 我有工作代码可以为单个文件执行此操作,该文件在代码中进行了详细说明,但无法使其循环浏览多个文本文件。
我当前的代码(来自另一个线程)低于它返回错误“对象不支持此属性或方法'f.FullName'
要编辑的文件都称为“testfile_1.txt”、“testfile_2.txt”等
任何人都可以提供任何帮助将不胜感激
Set fso = CreateObject("Scripting.FileSystemObject")
Set prefixes = CreateObject("Scripting.Dictionary")
prefixes.CompareMode = vbTextCompare 'make dictionary lookups case-insensitive
prefixes.Add "testfile", True
For Each f In fso.GetFolder("C:\Users\msi\Documents\script_test\Test_folder").Files
If InStr(f.Name, "_") > 0 Then
If prefixes.Exists(Split(f.Name, "_")(0)) Then
strText = fso.OpenTextFile(f.FullName).ReadAll
strText = Replace(strText, "1ECODE", "ELH")
strText = Replace(strText, "1GCODE", "GLH")
strText = Replace(strText, "2ECODE", "EQT")
strText = Replace(strText, "2GCODE", "GQT")
strText = Replace(strText, "3ECODE", "EQT")
strText = Replace(strText, "3GCODE", "GQT")
fso.OpenTextFile(f.FullName, 2).Write strText
End If
End IF
Next
【问题讨论】:
-
你到底在用什么
VBA或VBS?VBA不同,它将与 Excel、Word 等其他应用程序关联,VBS可以独立运行。 -
使用 VBS 独立运行
标签: file text replace vbscript