常見錯誤和缺陷

VBScriptVisual Basic Scripting 語言是 Microsoft® 開發的高階程式設計語言。 中,存在兩種類型的變數:

變數類型 描述
簡單 變數是整數、布林型和字串等實際類型。
物件 是由自動化物件介面公開其功能的複雜項目。

為其分配值之前,必須將自動化物件型別宣告為物件。

重要

強烈建議您將值分配給所有宣告的變數和/或物件。

範例

Function Main

'宣告要使用的物件

Dim nameStr As String

'將值分配給變數

nameStr = "This is a test assignment of text"

'在掃描器使用中視窗中顯示分配的結果

echo nameStr

'傳回結果

Main = true

End Function

以下是更進階的指令碼範例,它將列出目標電腦上安裝了哪些服務(localhost = 127.0.0.1)。 在指令碼偵錯工具中複製貼上以下文字並執行(F5)。 在偵錯視窗中,您將看到本機電腦上已安裝服務的清單。

Function main

'宣告我們將需要使用的物件

Dim wmi As Object

Dim objswbemobject As Object

'宣告我們需要的其他變數

Dim strComputer As String

Dim cr As String

strComputer = "127.0.0.1"

'歸位字元

cr = Chr(13) + Chr(10)

'與 wmi 物件相連

Set wmi = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

'檢查連線是否成功

If wmi is Nothing Then echo ("error1")

'傳回 wmi 的服務執行個體

Set wmiinst=wmi.instancesof("Win32_Service")

'檢查執行個體是否可用

If wmiinst is Nothing Then echo ("error2")

'對每個執行個體進行 true 迴圈

For Each objswbemobject In wmiinst

echo("服務名稱= ")

'顯示服務

echo(objswbemobject.DisplayName+cr)

下一步

End Function

附註

如果您嘗試使用自動化物件而未宣告,該指令碼將在編譯時失敗。 例如同一條代碼,但缺少物件變數 wmi 的完全宣告。 嘗試執行該指令碼時將顯示錯誤訊息,同時還將給出發生錯誤的指令碼行的清除指示:

Function main

Dim wmi 'WARNING : missing “as object”

Dim objswbemobject As Object

End Function