通过转义特殊字符在 vbscript 中读取和写入文件

read and write a file in vbscript by escaping special characters

我想通过转义文本中的特殊字符并将输出用双引号引起来将文本文件复制到另一个文件

例如。将输入文件视为:

ABC"hi%"
bcd

我希望输出为

"ABC" + "" + "hi%" + "" +vbCRLF + "bcd" 

在一行中。 脚本应在输入文本的每一行末尾动态添加回车符 return 和换行符。

感谢任何帮助。

谢谢

您应该可以使用一系列 Replace() 语句来完成此操作。

s = objTextStream.ReadAll()

s = Replace(s, """", """""")
s = Replace(s, vbTab, """ & vbTab & """)
s = Replace(s, vbCrLF, """ & vbCrLf & """)
.... 

' Add quotes around the whole string
s = """" & s & """"

但是,由于需要连接,最终结果中可能会出现一些空字符串。例如,如果您有连续的制表符,您的输出字符串将如下所示:

"some text" & vbTab & "" & vbTab & "" & vbCrLf & "Line2"

所以你可能需要做一个最后的 Replace() 来摆脱那些:

s = Replace(s, "& """" &", "&")