2016-10-11 102 views
-1

我需要阅读的文本文件和其它文件复制,但是有些行包含为NULETXSOH读字符串ASCII

我用ReadLine在此代码复制ASCII非打印代码文件和所有行都被复制,但不是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 
+0

听起来像你有一个二进制文件,而不是一个ASCII文件。如果是这种情况,请参阅[此问题](http://stackoverflow.com/q/6060529/1630171)关于处理VBScript中的二进制文件。 –

+0

顺便说一句,愚蠢的问题:你为什么不简单[复制](https://msdn.microsoft.com/en-us/library/e1wf9e7w%28v=vs.84%29.aspx)该文件,因为你显然不想修改它? –

+0

因为我想修改它。我必须用其他方式来代替一些字符串,并且替换工作完美。但是当我得到BITMAP字符串,我得到错误5 – Vardar

回答

0

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

Set ts = file.OpenAsTextStream(1,0) 

退房充分参考:

MSDN: OpenTextFile Method

MSDN: CreateTextFile Method

在输出文件中省略的Unicode参数应该是好的 - 它的ASCII承担。

+0

不行....我的ascii字符串是位图代码。当我尝试读取和写入该行Vbscript返回错误5. – Vardar

+0

看起来像@Lankymart帖子是正确的 - 打开文件与指定的所有参数 - OpenTextFile(FileNameIn,1,False,0) –

+0

不...我试着OpenTextFile (FileNameIn,1,False,0)用于读取,而OpenTextFile(FileNameOut,2,False,0)用于写入,但总是出现错误5 - 尝试写入此行时无效的过程调用或参数:BITMAP 187,62, 10,544,1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ'ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ'ýßß}÷ß}àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ YY | – Vardar