Types vbs类型不匹配:[字符串]

Types vbs类型不匹配:[字符串],types,vbscript,mismatch,Types,Vbscript,Mismatch,我有下面的代码给我一个错误,我不明白为什么 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objDir = objFSO.GetFolder(strOrigDir) Set colFiles = objDir.Files For Each strFile in colFiles Select Case Right(strFile,3) Case "rar" strTarFile = strFile

我有下面的代码给我一个错误,我不明白为什么

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objDir = objFSO.GetFolder(strOrigDir)
Set colFiles = objDir.Files

For Each strFile in colFiles
Select Case Right(strFile,3)
    Case "rar"
        strTarFile = strFile
        intIsRar = 1
        Exit For
    Case "avi" or "mkv" or "mp4"
        strTarFile = strFile
        Exit For
    Case Else
        WScript.Quit
End Select
Next

我收到
选择大小写
行上的消息
类型不匹配:'[string:“avi”]
,我不明白为什么。我已经使用VarType检查了strFile的值,以确保我没有发疯,并尝试将字符串与不应该的字符串进行比较(VarType返回8)。你知道为什么这是不正确的吗?

问题在于语句的语法。如果需要多个案例,则需要使用逗号分隔的列表:

Select Case Right(strFile,3)
    Case "rar"
        strTarFile = strFile
        intIsRar = 1
        Exit For
    Case "avi", "mkv", "mp4"
        strTarFile = strFile
        Exit For
    Case Else
        WScript.Quit
End Select

“类型不匹配”可能是因为它试图将“avi”或“mkv”或“mp4”作为布尔语句进行求值。

问题在于该语句的语法。如果需要多个案例,则需要使用逗号分隔的列表:

Select Case Right(strFile,3)
    Case "rar"
        strTarFile = strFile
        intIsRar = 1
        Exit For
    Case "avi", "mkv", "mp4"
        strTarFile = strFile
        Exit For
    Case Else
        WScript.Quit
End Select

“类型不匹配”可能是因为它试图将“avi”或“mkv”或“mp4”作为布尔语句进行求值。

在哪一行发生错误?
VarType
返回什么值?错误发生在哪一行?
VarType
返回什么值?就是这样。非常感谢,就这样。非常感谢。