Vbscript 使用ASCII读取字符串

Vbscript 使用ASCII读取字符串,vbscript,readline,Vbscript,Readline,我需要读取文本文件并复制到其他文件中,但某些行包含ASCII不可打印代码,如NUL,ETX,SOH,等等 我在这段代码中使用ReadLine来复制文件,所有的行都被复制,但不是ASCII行。有没有办法也复制那一行 Set file = fso.GetFile(FileNameIn) Set OutFile = fso.CreateTextFile(FileNameOut, True) Set ts = file.OpenAsTextStream(1, -2) Do Until ts.AtEn

我需要读取文本文件并复制到其他文件中,但某些行包含ASCII不可打印代码,如
NUL
ETX
SOH
,等等

我在这段代码中使用
ReadLine
来复制文件,所有的行都被复制,但不是ASCII行。有没有办法也复制那一行

Set file = fso.GetFile(FileNameIn)

Set OutFile = fso.CreateTextFile(FileNameOut, True)
Set ts = file.OpenAsTextStream(1, -2)

Do Until ts.AtEndOfStream
    strLine = ts.ReadLine
    OutFile.WriteLine(strLine)
Loop

听起来您需要在打开文件时指定ASCII格式参数(不使用系统默认值-2)

查看完整参考资料:


在输出文件中省略unicode参数应该是可以的-假定为ASCII。

听起来像是一个二进制文件,而不是ASCII文件。如果是这种情况,请参见VBScript.BTW中关于处理二进制文件的问题,愚蠢的问题:既然您显然不想修改该文件,为什么不简化该文件?因为我想修改它。我必须用另一根线来回复一些线,而且替换的效果很好。但是当我得到位图字符串时,我得到了错误5。在这种情况下,请参阅“在VBscript中读取和写入二进制文件”问题。请注意,通过字符串替换修补二进制文件可能不会像您预期的那样起作用。不起作用。。。。我的ascii字符串是位图代码。当我尝试读取和写入该行时,Vbscript返回错误5。看起来@Lankymart post是正确的-使用指定的所有参数打开文件--OpenTextFile(FileNameIn,1,False,0)否。。。我尝试打开文本文件(FileNameIn,1,False,0)进行读取,打开文本文件(FileNameOut,2,False,0)进行写入,但在尝试写入此行时,始终出现错误5-无效的过程调用或参数:位图187,62,10544,1,}5月5月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月5月5日日的25 55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555525 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5ÿÿÿÿÿÿ}5月5月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月日日日日日日日日日日日日日日日日日日日日的的的的的的的的的在在在在在在在在在在在在在在在在在在在在在在在在在的的的的自自自自月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月月瓦达尔看起来像是在试图打开位图文件,而不是按照二进制文件阅读
ADODB.Stream
。否,位图字符串合并到txt文件中。我想读取该文件并将其保存在另一个文件中。但是当我到达位图字符串时,我得到错误5
 Set ts = file.OpenAsTextStream(1,0)