Как вы можете преобразовать LF в CRLF в текстовом файле с помощью vbscript?

У меня есть файл CSV, который создается программой Mac (к сожалению, с небольшой гибкостью кодирования), которая записывает LF в конце строк. Затем vbscript читает этот файл так:

Set objTextFile = fso.OpenTextFile("the_file.csv", 1)
lineItemString = objTextFile.Readline

Однако, поскольку он ищет CRLF в конце строк, lineItemString содержит текст всего файла. Так как это ежедневная процедура, мне не хотелось бы добавлять промежуточный шаг использования какой-нибудь утилиты, которая правильно преобразует все окончания строк в CRLF.

Есть ли способ избежать этого, выполнив это преобразование из моего vbscript?

Заранее спасибо!


person AndyPerlitch    schedule 04.10.2012    source источник


Ответы (1)


Это заменит каждый LF в строке на CRLF:

Replace(str, vbLf, vbCrLf)

Однако в зависимости от того, как вы хотите обработать файл, может быть проще просто прочитать весь файл и разделить содержимое на vbLf.

Set objTextFile = fso.OpenTextFile("the_file.csv", 1)
For Each line In Split(objTextFile.ReadAll, vbLf)
  ' do stuff
Next
person Ansgar Wiechers    schedule 04.10.2012
comment
Отличный совет, думаю так и сделаю. Я принял ответ Стивена, потому что он ответил первым. Однако проголосовал за это! Спасибо! - person AndyPerlitch; 04.10.2012
comment
@AndyPerlitch, это должен быть принятый ответ, другой ответ был удален, поскольку, вероятно, это был ответ только по ссылке. - person user692942; 29.06.2021