我有以下代码从.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'
答案 0 :(得分:4)
将Const ForReading = 1
行直接移到脚本顶部的dim
语句下方。
正如它所说,你每次绕过循环时都试图重新定义一个常量,这没有任何意义。