如何阻止我的 vbscript 写入与我读取的文件类型不同的文件?

How can I stop my vbscript from writing a different type of file than the one I read?

我正在用 VBScript 读写一个文件。

我的输入文件以这五个字符开头:<?xml。我用十六进制编辑器验证了这 5 个起始字符。输入文件是 DITA 映射,如下所示:DITA map explanation.

我的输出文件以十六进制 FF FE 的 BOM 开头,所以当我尝试使用(读取)该输出文件作为我的输入文件时,它会出错,并且出现错误。这个 FF FE 来自哪里,如何阻止它生成?

我在十六进制编辑器中看到的另一个区别是输入文件是正常的每个字符一个字节。但是,十六进制编辑器显示输出文件的每个字符前都有 00。

我开始使用 .ReadLine.WriteLine,但后来切换到 .ReadAll.Write,我认为这可能会解决我的问题,但事实并非如此。

我研究了 BOM 和 VBScript,但没有找到解决方案。

Set FileIn = FSO.OpenTextFile("C:\foo\barIn.txt", 1)
Text = FileIn.ReadAll
FileIn.Close

Set FileOut = FSO.OpenTextFile("C:\foo\barOut.txt", 2, True, True)
FileOut.Write Replace(Text, "findThis", "useThat")
FileOut.Close

没想到输出文件如此不同!

将用于写入 OpenTextFile 语句的打开中的第二个 True 更改为零 (0)。 documentation 说这是写 ASCII。

Set FileOut = FSO.OpenTextFile("C:\foo\barOut.txt", 2, True, 0)

.....