如何根据其中包含的数据将一个文本文件解析为多个文件

时间:2011-03-02 19:52:49

标签: vbscript

我有一个巨大的文本文件,我想解析成其他文件 - 我认为我在这个盒子(公司计算机)上唯一可以使用的是VBS,所以这是我的问题:

我的文本文件包含许多网络配置,如下所示:

“有效”, “主机名”, “的IPAddress”

.......
结束

这在整个文件中重复,但显然对于每个配置,“...”中会出现不同的数据。对于每个配置,它总是说“活动”。

我想为每个配置创建HostName.cfg类型的保存文件,并保存所有文本,包括!和“结束”。不需要复制具有三个带引号属性的行。

我还在学习VBS,所以我很感激这方面的任何帮助。谢谢!

2 个答案:

答案 0 :(得分:0)

以下是一些有用的文件读取函数和语句:

Freefile

返回一个应该赋给变量的整数,然后在Open语句中使用。

Open <string> For Input As <integer>

使用指定的文件句柄打开指定的文件。不要使用相同的文件句柄两次,而不要在它们之间关闭它。

Line Input #<integer>, <variable>

将文件的一行读入字符串。

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

将逗号分隔的文件的一行读入多个变量。

答案 1 :(得分:0)

我曾经不得不在省略开始和结束行的同时阅读文本文件。虽然我不需要在任何地方写它,但FSO很简单,你可以搞清楚。这里有一些代码用于读取文件和链接,以便通过FSO写入文件:link

'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