Vbscript 如何在读取行时将光标放在前面,以使Endofstream检查工作

Vbscript 如何在读取行时将光标放在前面,以使Endofstream检查工作,vbscript,automated-tests,qtp,Vbscript,Automated Tests,Qtp,我有一个包含10条记录的文件。我试着用下面的文字来阅读它。现在发生的事情是,我需要从第一行循环一些公司名称,并需要使用该名称创建一个文件(这就是我在if循环中所做的) 在Else中,我需要对所有行进行一些数据挖掘,包括已经读取的第一行。现在,由于ReadLine读取一行,然后将光标留在该行的末尾(在下面的情况下,光标将在测试之后),因此在下面的读取中,顺序将被1打乱,并且第一行或最后一行将丢失(基于重新读取该行的位置) 这只是为了测试(请保留此项。这是文本中引用的示例) “这是文中提到的一个例子

我有一个包含10条记录的文件。我试着用下面的文字来阅读它。现在发生的事情是,我需要从第一行循环一些公司名称,并需要使用该名称创建一个文件(这就是我在if循环中所做的)

Else
中,我需要对所有行进行一些数据挖掘,包括已经读取的第一行。现在,由于
ReadLine
读取一行,然后将光标留在该行的末尾(在下面的情况下,光标将在测试之后),因此在下面的读取中,顺序将被1打乱,并且第一行或最后一行将丢失(基于重新读取该行的位置)

这只是为了测试(请保留此项。这是文本中引用的示例)


“这是文中提到的一个例子”是什么意思?您不会在任何地方引用“这只是为了测试”这一行,而且由于VBScript不支持裸字,这一行将使您的代码示例VBScript无效。还有,你在说什么“数据挖掘”?您的代码片段所做的只是拆分CSV行的字段。@Kushal bhola您能做到吗?这可能会满足OP的要求,但可以做一些解释,而不仅仅是发布一个代码块。@Lankymart-这实际上只是对OPs原始代码的重新安排。我想他们已经知道每一行的作用了,所以我似乎不需要对它们进行注释。这是我的观点,蒂姆,我们什么时候才为OP写答案?我就是这么做的。我想我们都有不同的方法。
Set tsIn = fso.OpenTextFile("F:kushal\1094c.csv", 1)
Do While Not tsIn.AtEndOfStream 
    If firstRead Then
        l = tsIn.Skipline ' skip the header row
        l = tsIn.Readline
        dim tsOut : Set tsOut = fso.CreateTextFile("..\HCR Files\" & _
            ucase(formatFileDate(getSafeString(l))) & ".e", true, tristatefalse)
    Else
        l = tsIn.Readline
        l = left(l, (len(l) - 1))
        l = split(l, chr(34) & "," & chr(34))
        'All other stuff
    End if
Loop
Dim tsOut, firstRead

Set tsIn = fso.OpenTextFile("F:kushal\1094c.csv", 1)

If Not tsIn.AtEndOfStream Then tsIn.Skipline  'skip the header row

firstRead = True

Do While Not tsIn.AtEndOfStream 

    l = tsIn.Readline

    'save the first line
    If firstRead Then
        Set tsOut = fso.CreateTextFile("..\HCR Files\" & _
                   ucase(formatFileDate(getSafeString(l))) & _
                    ".e", true, tristatefalse)
        firstRead = False
    End If

    l = left(l, (len(l) - 1))
    l = split(l, chr(34) & "," & chr(34))
    'etc etc

Loop