VBScript 是微軟 (Microsoft) 以 Visual Basic (在引入 .NET Framework 之前) 為基礎所開發的一種程式語言,原本的目標是用來網頁程式,像是用於伺服端的 ASP.NET 程式和內建在 Internet Explorer 中做為客戶端程式。
以這個目標來說,VBScript 可以說是已經失敗,新的 ASP.NET Core 是採用 C# 語言的 MVC 網頁框架,在這個新的框架中已經完全看不到 VBScript 的影子;而 Internet Explorer 11 也將 VBScript 的支援移除了。那麼,我們可以說 VBScript 已經死了嗎?
以網頁程式來說,除了維護一些舊專案,應該沒有理由再用 VBScript 來寫。不過,做為進階使用者 (power users) 的腳本語言,VBScript 仍有可用之處。
Windows 系統上原生的腳本語言有四個:
- Batch
- VBScript
- JScript (註)
- PowerShell
註:JScript 即微軟版本的 JavaScript,和標準的 ECMAScript (JavaScript) 略有不同;目前來說,學習 JScript 的實用價值不高。
Batch 是 DOS 時代的產物,可用的功能相對較少。PowerShell 是微軟近年來力推的腳本語言,但不是每台 Windows 主機都會裝。由於 JScript 和正統 JavaScript 不完全相容,學習價值很低。而 VBScript 在 Windows 98 之後就內建在系統中,在 Windows XP SP3 以上的版本即支援 5.7 版 (參考這裡)。
雖然 VBScript 已經不會加入新的特性,但仍然會修復 bug 和安全性更新。此外,我們可以假定 VBScript 所寫的腳本可運行在大部分 Windows 系統上。
註:雖然 Windows 10 才是現在和未來的主流,但到目前 (2018 年中) 為止,Windows 7 仍有 43% 左右的市佔率,甚至比 Windows 10 的 31% 更高。
在 Windows 系統上執行 VBScript 的環境為 Windows Script Host (WSH),WSH 預設可執行 VBScript 和 JScript 兩種腳本語言。除此之外,還可以安裝其他的語言,像是 Perl、Python、Rexx 等。
筆者認為,既然要用 WSH,還是用內建的語言比較好,比起 VBScript,其他語言的範例相對來說會更少。WSH 將作業系統的元件包成物件,透過 VBScript 或 JScript (或其他語言) 來呼叫,藉此自動化一些系統相關任務。
註:VBScript 相關的資訊在微軟的網站上不太好找,筆者將其連結放在這裡。
VBScript 一般是用來寫於命令列執行的非互動性腳本,不過,我們也可以透過 HTML Application 來撰寫圖形介面程式。HTML Application 背後使用 Internet Explorer 來運作,雖然和一般網頁的寫法差不多,但 Windows 系統將 HTML Application 視為一般的應用程式,可直接使用系統上的資源。
HTML Application 算是相當早期的桌面端網頁應用程式,目前比較熱門的是用 Electron (註) 來寫跨平台桌面端程式;相較起來,HTML Application 僅限 Windows 平台能用,對開發者的吸引力就沒那麼大。不過,如果只是要用 VBScript 寫寫小程式,仍然可以考慮 HTML Application。
註:Electron 是桌面端的 JavaScript 框架,好處是可沿用網頁技術來寫桌面軟體。
註:HTML Application 在微軟網站的連結放在這裡。