如何每15分钟循环并同时从.txt获取数据?

时间:2017-09-12 04:00:22

标签: vbscript

我有以下代码从.txt获取数据并每15分钟循环一次。我只是尝试使用9000的值来缩短测试时间。如果成功,我将在15分钟内设置为900000。

Dim fso, path, file, recentDate, recentFile, objFSO, objOutputFile, objTextFile, strText, i

i = 0
Do While i = 0
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set recentFile = Nothing
    For Each file In fso.GetFolder("C:\Users\ID\Documents\DATA-DTL\vbs\").Files
        If (recentFile is Nothing) Then
            Set recentFile = file
        ElseIf (file.DateLastModified > recentFile.DateLastModified) Then
            Set recentFile = file
        End If
    Next

    If recentFile is Nothing Then
        WScript.Echo "no recent Files"
    Else
        'WScript.Echo "Recent file is " & recentFile.Name & " " & recentFile.DateLastModified
        Const ForReading = 1
        Set objFSO = CreateObject("Scripting.FileSystemObject")

        Set objOutputFile = objFSO.CreateTextFile("temp.txt")
        Set objTextFile = objFSO.OpenTextFile("dtl.txt", ForReading)
        strText = objTextFile.ReadAll
        objTextFile.Close
        objOutputFile.Write strText

        Set objOutputFile = objFSO.CreateTextFile("dtl.txt")
        Set objTextFile = objFSO.OpenTextFile("temp.txt", ForReading)
        strText = objTextFile.ReadAll
        objTextFile.Close
        objOutputFile.Write strText

        Set objTextFile = objFSO.OpenTextFile("C:\Users\ID\Documents\DATA-DTL\vbs\" & recentFile.Name, ForReading)
        strText = objTextFile.ReadAll
        objTextFile.Close
        objOutputFile.Write strText

        objOutputFile.Close
    End If

    WScript.Sleep (9000)
Loop

首先代码运行,但在循环中我收到错误

  

名称已重新定义' ForReading'

1 个答案:

答案 0 :(得分:4)

Const ForReading = 1行直接移到脚本顶部的dim语句下方。

正如它所说,你每次绕过循环时都试图重新定义一个常量,这没有任何意义。