Windows Scripting Host 入門編
このドキュメントはJavaScriptについて知識があるという前提で書かれています。
■はじめに
今まで、JavaScriptはブラウザ上で実行するものだったため、
HTMLの中にスクリプトを書いていました。
しかし、WSHプログラムはWindowsの他のアプリケーションと同様にデスクトップ上で実行するものの為、
今までと違いテキストファイルに直接スクリプトを記述し、.jsという拡張子を付けます。
そして、そのファイルをデスクトップ上で直接実行するわけです。
もちろん、<SCRIPT>タグを書く必要がないわけです。
WSHで利用出来る言語は、現在のところJavaScript(JScript)とVBScript(拡張子.vbs)などがありますが、
ここでは当然JavaScriptを使用して説明させて頂きます。
なお、WSHプログラムを動かすにはOSがWindows98以上であるか、
もしくはWindows95やWindowsNT4の場合に、Microsoftのサイトから
WSHエンジンをダウンロードし、
インストールする必要があります。
(*この場合はInternetExplorer3.0以上がインストールされている必要があります)
■プログラムの実行
WSHプログラムは、WScript.exe、又はCScript.exeを使い実行します。
例えば、test.jsというファイルがあった場合、コマンドライン上で、
DIR>wscript test.js [n1 n2....]
とすれば、test.js内のスクリプトが実行されるわけです。(n1,n2..は引数です)。
ただ、いちいちコマンドライン上からでもなくても、.jsファイルをダブルクリックでもすれば
スクリプトは実行されます。(その場合は引数を持てないのですが) *追記:WSH2.0でドラッグ&ドロップがサポートされました。
■とりあえず作ってみる
以下の様なスクリプトを記述し、拡張子.jsを付けて実行してみて下さい。
<< test.js >>
WScript.Echo("ほげほげ");
上のスクリプトを実行すると、ダイアログが現れて「ほげほげ」と出力されます。
(WScript.Echo()は標準出力の関数です。
コマンドライン上でCScriptを用いて実行した場合はコンソール内に標準出力されます。)
■今までのJavaScriptプログラミングとの違い
さて、多少JavaScriptに触れた事のある人なら、
上のプログラムを見て、
alert("ほげほげ");
で書き換えることが出来るんじゃないか?と思う人がいるかと思います。
しかし、alert()とというのはブラウザが実装している機能であり(Windowオブジェクト)、
JScript自体が標準として実装している機能ではないので、
この関数を使用するとエラーが発生します。
JScriptの標準機能については、
JScript Reference (>>Microsoft)をご覧下さい。
ちなみにこのリファレンスを見て頂ければ分かるかと思いますが、
prompt()、setTimeout()など利用価値の高い関数が使えなかったりします。
*追記:WSH2.0でsleepメソッドがサポートされました。
■WSH Object
WSHでは、
WScript.exeが持つWScriptオブジェクトを利用して作ります。
WScriptオブジェクトについては
WSHリファレンス (>>Microsoft)
をご覧下さい。
■最後に
WSHは新しく出来た技術のため、処理速度が遅いなどまだまだ幾つか問題があります。
しかし、WSHのその位置づけから考えるとAppleScriptのように、
これから徐々に広まって行くものと思われます(私感)。
[ Back ]