技術情報コラムColumn

VBScriptでのコマンドライン引数の使い方

技術解説
前回のコラム「バッチファイルでのVBScriptの利用」ではバッチファイルでのスクリプトの実行方法を紹介いたしました。 今回のVBScript入門の第7回は、VBScriptでコマンドライン引数を利用する方法について説明いたします。 では早速、スクリプトを作成してみましょう。

① メモ帳を起動して、下図のように入力します。

VBScript    
② 「C:\Script」フォルダに「第7回.vbs」という名前で保存します。
   
③ メモ帳を終了し、コマンドプロンプトを開きます。
   
④ コマンドプロンプトで「cscript //nologo c:\script\第7回.vbs 第7回のサンプル」と入力し実行します。
VBScript    
⑤ コマンドライン引数として入力した「第7回のサンプル」という文字列が「コマンドライン引数は」という文字列と結合されて出力されたと思います。
      では、スクリプトの内容について説明いたします。       スクリプトでコマンドライン引数を使えるようにするには、以下のコマンドを使用します。
【構文】 Set 任意のオブジェクト名 = Wscript.Arguments
  オブジェクトとは、コマンド(メソッドといいます)や設定値(プロパティといいます)を1つのグループにまとめた物になります。オブジェクトを使う場合、変数と同じように任意の名前を付けることが出来ます。     コマンドライン引数の数を確認するには、以下のコマンドを使用します。
Set 任意のオブジェクト名 = Wscript.Arguments 任意のオブジェクト名.Count
  コマンドライン引数が1つの場合は「任意のオブジェクト名.Count」には1が入っています。コマンドライン引数が2つの場合は「任意のオブジェクト名.Count」には2が入っています。また、コマンドライン引数を指定せずにスクリプトを実行した場合は、「任意のオブジェクト名.Count」には0が入ります。     コマンドライン引数の値を確認するには、以下のコマンドを使用します。
Set 任意のオブジェクト名 = Wscript.Arguments 任意のオブジェクト名(n)
  コマンドライン引数の値が1つの場合は、「任意のオブジェクト名(0)」に値が入っています。コマンドライン引数が複数指定されている場合は、2つ目のコマンドライン引数は「任意のオブジェクト名(1)」、3つ目のコマンドライン引数は「任意のオブジェクト名(2)」というように、取り出したいコマンドライン引数の位置から1引いた値をカッコ内に指定するといいです。       今回はここまでです。また次回のコラムをお待ちください。

◆他の回のコラムを見る

第1回 VBScriptで簡単なスクリプトを書こう
第2回 VBScriptで文字の入力
第3回 VBScriptで条件分岐処理
第4回 VBScriptで条件分岐処理 その2
第5回 VBScriptでループ制御
第6回 バッチファイルでのVBScriptの利用