vbscript - 本主题是关于用于从文件读取结果的 VBscript

标签 vbscript

据我所知,FSO 不知道读取文件中最后一行。 我的场景是验证最后一行并从中获取结果。

假设,如果我需要在最后一行中获得“通过”或“失败”的结果。由于我从第一行开始,我得到正确结果的情况是有限的,因为文件中较早出现的 PASS 或 FAIL 的可能性是有限的。

文件中的最后两行是 失败的 完成!!!

或者

通过 完成!!!

为了获得实际的结果,我使用嵌套 IF 验证来获得结果。下面是相同的片段。

 str1 = "Passed"
    str2 = "Failed"
    str3="Done!!!!"
    Do Until objFile.AtEndOfStream
        str=objFile.ReadLine
        if StrComp(str, str1) = 0 Then
            str=objFile.ReadLine
        if StrComp(str,str3) = 0 Then
            result="PASS"
        End if
        elseif StrComp(str, str2) = 0 Then
            str = objFile.ReadLine
            if StrComp(str,str3) = 0 Then
                result="FAIL"
            End if
        End if
        Loop

这会影响性能。有没有其他方法可以更好地实现此实现?

最佳答案

这是一个函数,它接受文件名并返回读取的倒数第二行:

Function PenultimateLine(fname)
    Dim fso, ts, line1, line2

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.OpenTextFile(fname)

    Do Until ts.AtEndOfStream
        line1 = line2
        line2 = ts.ReadLine
    Loop
    ts.Close

    PenultimateLine = line1
End Function

您可以使用此函数提取该行,然后根据“PASS”或“FAIL”对其进行测试(顺便说一下,可以简单地使用 = 而不是 StrCmp 来完成)

关于vbscript - 本主题是关于用于从文件读取结果的 VBscript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36827308/

相关文章:

arrays - 数组的 VBScript 索引位置

html - vbscript在html表中显示数据库查询

java - Java中是否有相当于Vbscript执行语句的语句

html - 如何在 XPath 中使用变量?

javascript - 需要帮助将vbs代码转换为jscript。我遇到了运行时错误类型不匹配

vb.net - vbscript 和 vb.net 有什么区别?

random - 同时不同的随机数

asp-classic - ASP - 从字符串中删除双引号

excel - Scripting.Dictionary 的最大大小是多少?

string - 强制字符串变为大写