VBScript
PowerShell がダブルクリックでは動作しないような糞仕様安全設計になってしまったので、ダブルクリックで動作させるためにまだ使われている。
ソースは UTF-8 には非対応。ANSI で書かなければならない。日本では Shift_JIS になる。
つまり、ソースでASCII以外の文字列は事実上まともに使えない。
COM 自体は文字列が OLE 文字列で UTF-16 になっている。
基本的には以下の3つで利用される。
Windows Script Host (Windows Scripting Host, WSH)
Internet Explorer の script 要素
その他、アプリケーションが VBScript に対応している場合
コマンド(コマンド プロンプト)で実行する。
cscript は CUI 用
wscript は GUI 用
デフォルトでは、GUI でダブルクリックすると wscript が動作するようになっている。
cscript で動かす場合
code:hello_echo.vbs
WScript.Echo "Hello, world!"
code:console
cscript //Nologo hello_echo.vbs
Hello, world!
デフォルトでロゴが出てくる糞仕様バージョン違いなどに気が付く安全設計なので、//Nologo が必要。
wscript で動かす場合
WScript.Echo を使う。
(上述の hello_echo.vbs をダブルクリックするか、wscript で実行する。)
https://gyazo.com/f2fe3684849f01638e5d6c1a9291d441
VBScript の MsgBox 関数を使う。
code:hello_msgbox.vbs
MsgBox "Hello, world"
https://gyazo.com/0e001097276e4134532e0da440c65257
WScript.Shell オブジェクトの Popup メソッドを使う。
wscript, cscript どちらでも簡潔に表示するならば、WScript.Echo が望ましい。
名前は大文字小文字を区別しない。
以下はすべて正常に動作する。
code:ignore_largesmall.vbs
WScript.Echo "Hello, WScript.Echo!"
Wscript.Echo "Hello, Wscript.Echo!"
wscript.echo "Hello, wscript.echo!"