JScript

JScriptとは Windows Script Host (WSH) のひとつで、Javaに似たスクリプト言語です。WSH には JScript の他にも VBScript があります。

wscript.exe

Windows Script Host の JScript は、インタラクティブ・モードとバッチ・モードの2つのモードで実行できる。

スクリプトをインタラクティブ・モードで動作させた場合、メッセージはメッセージ・ボックスで出力される。たとえば、次の内容を hello.js というファイル名で保存する。

WScript.echo("Hello, world!")

これをwscript.exeで実行すると、"Hello, world!" という文字列がメッセージ・ボックスで表示される。

C:\> wscript.exe hello.js

cscript.exe

Windows Script Host の JScript は、インタラクティブ・モードとバッチ・モードの2つのモードで実行できる。

スクリプトをバッチ・モードで動作させた場合、メッセージはコンソールの標準出力に出力される。たとえば、次の内容を hello.js というファイル名で保存する。

WScript.echo("Hello, world!")

これををcscript.exeで実行すると、"Hello, world!" という文字列がコンソールに表示される。

C:\> cscript.exe hello.js

WScript.Echo

メッセージを出力するには、WScript.Echoメソッドを使用する。

WScript.Echo(message);

引数 message には、出力するメッセージ文字列を指定する。

メッセージを出力するスクリプトのサンプルを次に示す。

WScript.Echo("Hello, world!");

WScript.Arguments

コマンドライン引数を扱うには、WScript.Argumentsオブジェクトを使用する。

コマンドライン引数の個数は、Count()メソッドで参照することができる。また、 n 番目のコマンドライン引数は、WScript.Arguments( n - 1)で参照することができる。

すべてのコマンドライン引数を出力するスクリプトのサンプルを次に示す。

for (i = 1; i <= WScript.Arguments.Count(); i++) {
  WScript.echo(WScript.Arguments(i - 1));
}

WScript.FullName

ホストの実行可能ファイル (CScript.exe または WScript.exe) への絶対パスを返す。このプロパティは読み取り専用である。

WScript.Echo(WScript.FullName);

WScript.Path

ホストの実行可能ファイル (CScript.exe または WScript.exe) の格納先ディレクトリの名前を返す。このプロパティは読み取り専用である。

WScript.Echo(WScript.Path);

WScript.Quit

JScriptを終了する。

WScript.Quit();

終了コードを指定して終了することもできる。

WScript.Quit(1);

WScript.ScriptFullName

実行中のスクリプトへの絶対パスを返す。このプロパティは読み取り専用である。

WScript.Echo(WScript.ScriptFullName);

WScript.ScriptName

実行中のスクリプトのファイル名を返す。このプロパティは読み取り専用である。

WScript.Echo(WScript.ScriptName);

WScript.Sleep

指定時間スリープする(指定時間が経過するまで処理を停止する)には、WScript.Sleepメソッドを使用する。

WScript.Sleep(milliseconds);

引数 milliseconds には、待機する時間をミリ秒単位で指定する。

sleep.js

WScript.Sleep(WScript.Arguments(0)*1000)

実行時には、スリープする秒数をsleep.js のコマンドライン引数に指定する。

C:\> cscript.exe sleep.js 60

WScript.Version

Windows Script Host のバージョンを返す。このプロパティは読み取り専用である。

WScript.Echo(WScript.Version);

単一行コメント

JScript において「//」から行末まではコメントとなる。これを単一行コメントという。

// comment

複数行コメント

JScript において「/*」から「*/」まではコメントとなる。間に改行が入ってもよい。これを複数行コメントという。

/*
  comment
*/