我有以下vbscript代码片段:
For Each Modified in Files
If IsEmpty(file1) or IsNull(file1) Then
file1 = Modified
Else
file2 = Modified
If hDisk.FreeSpace > 900000000000 Then Exit For
ERROR HERE-->ElseIf file2.DateLastModified < file1.DateLastModified And DateDiff("D", file2.DateLastModified, Now) > 7 Then file2.Delete
ElseIf file1.DateLastModified < file2.DateLastModified And DateDiff("D", file1.DateLastModified, Now) > 7 Then
file1.Delete
file1 = Modified
End If
End If
End If
Next
当我尝试编译脚本时,我收到一个错误,我错过了“结束”,更具体地说是预期'结束'代码800A03F6 。
我已经多次梳理了代码,似乎无法弄清楚为什么它会给出我的错误。是的,我也试过使用'结束'而不是'结束如果'
答案 0 :(得分:0)
ElseIf的结构是:
If c1 Then
..
ElseIf c2 Then <-- Not Else
..
ElseIf c3 Then
..
Else <-- last to catch all else
--
End If
答案 1 :(得分:0)
你有3 End If
个,但你只是开始2 If
。如果我正确阅读,您可以执行以下操作:
For Each Modified in Files
If IsEmpty(file1) or IsNull(file1) Then
file1 = Modified
Else
file2 = Modified
If hDisk.FreeSpace > 900000000000 Then
Exit For
ElseIf file2.DateLastModified < file1.DateLastModified And DateDiff("D", file2.DateLastModified, Now) > 7 Then
file2.Delete
ElseIf file1.DateLastModified < file2.DateLastModified And DateDiff("D", file1.DateLastModified, Now) > 7 Then
file1.Delete
file1 = Modified
End If
End If
Next
最重要的是,如果您打算使用ElseIf
,则无法在Then
之后添加与Then
相同的内容 - 您可以只有当你的If
声明全部包含在同一行时才会这样做。