起動時パラメータが使えれば、ユーザーはさまざまなオプションをスクリプトに与えられる。WSHにおけるパラメータの処理方法を知る。
前回は、WSHスクリプトの最も基本となるWScriptオブジェクトの詳細解説の第1弾として、COMオブジェクトの生成と取得を行うCreateObject/GetObjectメソッド、WSHスクリプトでデータの表示や標準入力管理を行うEcho/StdOut/StdInメソッドなどについて説明した。WScriptオブジェクトのメソッド一覧については以下の表「WScriptオブジェクトのメソッドとプロパティ」を、WScriptオブジェクトの構成については図「WScriptオブジェクト・モデル(再掲載)」を参照されたい。
引き続き今回は、実行時パラメータの操作方法、スクリプトの実行制御(一時停止や強制終了)を中心にWScriptオブジェクトが提供する残りの機能について解説する。
コマンドラインでのプログラム実行では、コマンド名に続き、コマンドに与えるパラメータを指定するのが一般的である。例えば次の図は、TCP/IPの設定を確認するipconfigコマンドの実行例である。
(1)はipconfigコマンドをパラメータなしで実行したもの、(2)は詳細情報の表示を指示する“/all”パラメータを指定したもの、(3)はIPアドレスの再取得を指示する“/renew”パラメータと、再取得を行うアダプタ“localnet”を指定したものだ。このようなパラメータ指定が可能なおかげで、1つのコマンドにさまざまな機能を持たせることができる。仮にパラメータ指定ができなかったとすれば、「詳細表示」や「IPアドレスの再取得」という別々の処理を行うために、それぞれ独立したコマンドが必要になったり、特定のアダプタ名をプログラムに埋め込んで再コンパイルしたりしなければならない。馬鹿馬鹿しい話だ。
このipconfigコマンドはWSHスクリプトではないが、WSHスクリプトでも同様に、スクリプトに対してパラメータを指定して実行できる。
上の例では、arg.vbsというスクリプト・ファイルに対し、4つの実行時パラメータを与えている。このようにWSHスクリプトへのパラメータ指定は、一般的なコマンドライン・コマンドと同様にスペースで区切って複数指定することができる。先頭がスラッシュでないパラメータは「名前なしパラメータ」(前出の例ならパラメータ#1と#4)、スラッシュで始まるのは「名前付きパラメータ」(同じくパラメータ#2と#3)としてスクリプトの内部では区別して扱える。詳細はコード例を示しながらすぐ次で述べる。
スペース記号はパラメータの区切りになるので、パラメータ内部の文字列にスペースが含まれる場合には、次のようにダブルクォート記号で囲む必要がある。
Copyright© Digital Advantage Corp. All Rights Reserved.