Как проанализировать один текстовый файл на несколько файлов на основе данных, содержащихся в - PullRequest
1 голос
/ 02 марта 2011

У меня есть огромный текстовый файл, который я хотел бы проанализировать в других файлах - я думаю, что единственное, что у меня есть на этом устройстве (компьютер компании), это VBS, поэтому вот мой вопрос:

У меня есть текстовый файл с кучей сетевых конфигураций, который выглядит следующим образом:

"Active", "HostName", "IPAddress"
!
.......
end

Это повторяется по всему файлу, но, очевидно, для каждой конфигурации будут встречаться разные данные в пределах «...». В каждой конфигурации также всегда указано «Активно».

Я хочу создать файлы сохранения типа HostName.cfg для каждой конфигурации и сохранить весь текст между!и конец" .Строку с тремя указанными атрибутами не нужно копировать.

Я все еще изучаю VBS, поэтому буду признателен за любую помощь в этом вопросе.Спасибо!

Ответы [ 2 ]

0 голосов
/ 13 марта 2011

Мне когда-то приходилось читать текстовый файл, пропуская начальные и конечные строки. Хотя мне не нужно было нигде писать, FSO достаточно прост, чтобы вы могли понять это. Вот некоторый код для чтения файла и ссылка для записи в файл через FSO: ссылка

'Create a FSO object and open the file by providing the file path
Dim fso, f, filePath, line
filePath = "test.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(filePath)

'Skip through the first two lines
f.readline
f.readline

'Read till the end of file, if the line is not "end", split it based on ","
while not f.AtEndOfStream
    line = f.readline()
    if line <> "end" then
        arr = split(line, ",")
        'Write the arr to file
    end if
wend

f.Close
0 голосов
/ 02 марта 2011

Вот несколько полезных функций и операторов для чтения файлов:

Freefile

Возвращает целое число, которое вы должны присвоить переменной и затем использовать в операторе Open.

Open <string> For Input As <integer>

Открывает указанный файл, используя указанный дескриптор файла. Не используйте один и тот же дескриптор файла дважды, не закрывая его между ними.

Line Input #<integer>, <variable>

Считывает одну строку файла в строку.

Input #<integer>, <variable>, <variable>, <variable>

Считывает одну строку файла, разделенную запятыми, в несколько переменных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...