我正在尝试将VBS脚本一起用作启动脚本以卸载Silverlight(如果它是5以下的版本),但是我的代码在尝试比较值时仍然给我一个类型不匹配。
版本为5.1.10411.0。如何将此值与整数值进行比较?
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Product WHERE Caption = 'Microsoft Silverlight'")
Dim item
For each item in colItems
prodVer = item.Version
Next
If prodVer < 5 Then
set WshShell = CreateObject("WScript.Shell")
set oExec = WshShell.Exec("wmic product where caption='Microsoft Silverlight' call uninstall")
End If
答案 0 :(得分:1)
版本值是一个字符串,所以要将它与一个整数进行比较,首先需要提取一些可以转换为整数的东西。
E.g。提取第一期之前的数字;
prodVer = "5.1.10411.0"
if (prodVer <> "") then
prodVer = clng(left(prodVer, instr(prodVer , ".") - 1))
msgbox prodVer < 5
end if