2016-10-11 7 views
-1

Мне нужно прочитать текстовый файл и скопировать в другом файле, но некоторая строка содержит ASCII непечатаемого код как NUL, ETX, SOH и т.д.Чтение строки с ASCII

я использую 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 
+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

Похоже, вам нужно указать параметр формата ASCII при открытии файла (не используя системные значения по умолчанию -2).

Set ts = file.OpenAsTextStream(1,0) 

Почитайте для полной справки:

MSDN: OpenTextFile Method

MSDN: CreateTextFile Method

Опуская параметр Юникода в выходном файле должно быть в порядке - его 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