0

バージョン 5 未満の Silverlight をアンインストールするためのスタートアップ スクリプトとして使用する VBS スクリプトをまとめようとしていますが、値を比較しようとするとコードの型が一致しません。

バージョンは 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
4

1 に答える 1

1

バージョン値は文字列であるため、整数と比較するには、まず整数に変換できるものを抽出する必要があります。

たとえば、最初のピリオドの前の数字を抽出します。

prodVer = "5.1.10411.0"

if (prodVer <> "") then
    prodVer = clng(left(prodVer, instr(prodVer , ".") - 1))

    msgbox prodVer < 5
end if
于 2012-11-20T11:05:53.497 に答える