前言
本文將說明如何建置撰寫 VBScript 命令稿的開發環境。
直譯器
VBScript 在 Windows 系統中為內建元件,不需要額外安裝任何軟體。其直譯器分為兩種:WScript 與 CScript。前者會啟動圖形介面,後者則在命令列中執行。
若未特別指定,系統預設會使用 WScript 執行命令稿。一般情況下不建議更改此預設值,因為透過滑鼠雙擊 VBScript 時,會預期程式以圖形介面方式呈現。
編輯器
VBScript 多半用於撰寫簡短的命令稿,通常不需要使用完整的 IDE。使用像是 VSCode 這類的文字編輯器即可滿足需求。
撰寫第一隻程式
在程式設計中,Hello World 通常作為熟悉開發環境的入門範例。以下是 VBScript 版本的 Hello World:
WScript.Echo "Hello World"
在多數情況下,VBScript 並不區分大小寫。不過從程式碼可讀性的角度來看,通常會將指令採用首字母大寫的寫法,而不是全部大寫,以利日後維護與辨識。
在預設情況下,不論是雙擊命令稿或透過命令列執行,皆會使用 wscript 開啟 VBScript 命令稿。以本例來說,會顯示如下對話框:
若使用 CScript,則可以改由終端機執行 VBScript 命令稿:
> cscript path\to\hello.vbs
Microsoft (R) Windows Script Host Version 10.0
Copyright (C) Microsoft Corp. 1996-2006, 著作權所有,並保留一切權利
Hello World
為 VBScript 撰寫 Wrapper
由於 VBScript 預設會使用 WScript 執行命令稿,但在某些情境下,我們可能希望改以 CScript 在命令列環境中執行。此時可以透過一個簡單的 Batch 命令稿來包裝(wrapper)VBScript:
@echo off
rem Set your script name here
set program=hello.vbs
set cwd=%~dp0
if not exist "%cwd%%program%" (
echo "No script on the system: " . "%program%" >&2
exit /b 1
)
cscript /nologo "%cwd%%program%" %*
將此命令稿與 VBScript 檔案放在同一個目錄下即可使用。呼叫方式如下:
> .\hello.bat
透過這種方式,可以確保 VBScript 命令稿是在終端機環境中執行。