在文本文件中读取和显示数据的数据类型

时间:2018-04-04 14:34:41

标签: vbscript

Set FSO = CreateObject("Scripting.FileSystemObject")

Set Note = FSO.OpenTextFile("C:\VB Script Trying\textdata.txt", 1)

Do Until Note.AtEndOfStream
    'Textline = Note.Readline()
    WScript.Echo(VarType(Split(Note.Readline, " ")(1))) 'Dynamically Checked
Loop

上面的代码很简单,我从一个文件中读取并且必须在文本文件中显示每个单词/数字的数据类型。

这个内容:

( Hai 1.2 1000 a b c )

代码只运行“Hai”,它不会显示下一个单词或数字。

1 个答案:

答案 0 :(得分:2)

您的Split返回一个数组。您在此处选择基于零的数组的SECOND元素Split(Note.Readline, " ")(1)并获取它的vartype。您实际上是在数组中获取1.2的VarType ...所以不是每个元素,而不是第HaiSplit(Note.Readline, " ")(0)

要获取每个元素的vartype,然后迭代你的数组:

Set FSO = CreateObject("Scripting.FileSystemObject")

Set Note = FSO.OpenTextFile("C:\VB Script Trying\textdata.txt", 1)

Do Until Note.AtEndOfStream

    'Textline = Note.Readline()
    For Each elem in Split(Note.Readline, " ")
        WScript.Echo(elem & ": " & VarType(elem))
    Next elem

Loop

这里的问题是输入了一个数组,因为你没有声明这个数组,而是用Split()函数来表示它,它可能只决定每个elem的vartype是一个字符串,但我没有测试过,也许它会吐出预期的类型。