我使用vbscript通过HP-UFT (前QTP)。我面临的问题看起来很简单,但我无法解决。
我有从某些系统导出的.CSV文件,并且在这个文件中没有完成的CRLF文件。
我需要一个简单的修补程序来将追加新行到这个文件(我知道这是可以写到另一个文件的解决方法),我正在使用FileSystemObject,如下所示:
Set objFile = objFSO.OpenTextFile(outFile,8)' (outFile,8, true/false/default)
objFile.Write "test string" & vbCrLf ' and other different combinations我没有使用ADODB.Stream,因为它没有附加函数,我不需要额外的文件
当我打开文件在记事本后,我看到的是空方块,而不是CRLF。我认为这是因为文件是用UCS-2小Endian编码创建的。我对utf-8没有这样的意见。
系统变量的更快的修复是可能的吗?我在网络中发现,可以通过某些系统变量更改所有已创建文件的默认编码,但没有找到它的名称。我的地区语言和语言->管理->语言为非Unicode是英语。
发布于 2016-03-22 11:09:57
当有疑问时,请阅读文档
语法
object.OpenTextFile(filename[, iomode[, create[, format]]])参数 ..。 格式化 可选。用于指示已打开文件的格式的三个Tristate值之一(TristateTrue = -1以Unicode的形式打开文件;TristateFalse =0以ASCII的形式打开文件;以系统默认值的形式打开文件的= -2 )。如果省略,该文件将以ASCII的形式打开。
打开文件以供附加,但不指定编码,因此解释器采用ASCII格式。换行
Set objFile = objFSO.OpenTextFile(outFile,8)至
Set objFile = objFSO.OpenTextFile(outFile, 8, False, -1)问题就会消失。
https://stackoverflow.com/questions/36152339
复制相似问题