5.WSHでVBScriptを実行する方法
 実行する場合は、vbsファイルをダブルクリックしてGUI環境で実行する方法(WSHはWScript.exe)と、コンソールアプリケーション(コマンドプロンプト上)で実行する方法(WSHはWScript.exe)の2種類ありますが、このコーナーでは後者のコンソールアプリケーションで実行する場合を前提として進めます。

 なお、vbsファイルをダブルクリックしたときにコンソールアプリケーションで実行するように設定を切り替えることもできます。
コマンドプロンプトを開いて、ディレクトリを移動!
 まず、コマンドプロンプト(MS-DOS窓)を開きます。コマンドプロンプトはスタートメニューの中にあります。どうしても分からないという人は、スタートメニューのファイル名を指定して実行を開いて、Windows98・95・Meを使っている人はcommand、NT・2000・XPを使っている人はcmdと入力してOKを押してください。詳しくは、ココをクリックすると簡単な例が出ます。

 コマンドプロンプト(MS-DOS窓)を開いたら、cdコマンドなどで、目的のvbsファイルがあるディレクトリまで移動します。cdコマンドの使い方がよくわからない人はココをクリックし参考にしてください。cdコマンドの使い方と得する知識(?)が、ちょこっとだけ書いてあります。でも、本当にちょこっとです(汗)
VBScriptを実行しよう!
 今度は、コマンドプロンプトでVBScriptのプログラムを実行する方法です。実行するにはcscriptというコマンドを使います。

 下の例は、c:\happyというフォルダにあるtest.vbsというVBScriptのプログラムを実行する場合です。あらかじめc:\happyというフォルダにcdコマンドで移動しておいた状態です。

C:\happy>cscript test.vbs

 実行すると、こんな画面になります。なにやらメッセージが出た後、プログラムが出したと思われるメッセージ「みんな〜、やってる?!」という何とも言い難い一言が出ました。
 なお、参考までにプログラムの中身は次のような内容でした(汗)

Option Explicit

WScript.echo "みんな〜、やってる?!"
実行時の小技1/タイトルロゴを出したくない場合(//Nologo)
 ところで、時と場合によってはこのメッセージを出したくない場合があります。そんなときは、起動コマンドに//nologoを付けます。

C:\happy>cscript test.vbs //nologo

 実行すると、こんな画面になり、見事に出なくなります。
実行時の小技2/永久ループを避けたいとき(//T:nn)
 その他のオプションで便利なのは、//t:nnというオプションです。もし、実行して運悪く永久ループに入っても、このオプションで指定した時間を過ぎるとタイムアウトで処理が中断します。

 ちょっとイジワルしてムリヤリ永久ループをさせて実験してみます。実行するプログラムはloop.vbs、タイムアウトは3秒です。実行コマンドは次の通り。

C:\happy>cscript loop.vbs //nologo //t:3

 実行するプログラムは、次のようなムリヤリ永久ループするプログラムです。

Option Explicit

Dim i

For i=0 to 10
  i=0
Next

 実行すると、こんなふうになります。実行開始から3秒後にムリヤリ中断されてしまいます。このオプションは、プログラムのテストをしているときには便利ですよ!

 他にもオプションがいろいろありますが、どんなのがあるかはcscriptだけを入力すると一覧で表示されるので、興味のある方はどうぞ。
実行時の小技3/デフォルトのWSHを設定する(//H:WSH名)
 デフォルトではvbsファイルをダブルクリックしたときにWScript.exeというWSHを使って実行(GUI環境で実行)するようになっていますが、この設定は切り替えることもできます。

 まずは、デフォルトのWSHをコンソールアプリケーション(CScript.exe)に変更する方法です。cscriptコマンドへ//H:CScriptスイッチを指定します。このとき、vbsファイルは指定しなくてもOKです。この設定を実行した後は、vbsファイルをダブルクリックするだけでコマンドプロンプトが開き実行されるようになります。

C:\happy>cscript //H:CScript

 次に、デフォルトのWSHをGUI環境(WScript.exe)に変更する方法です。cscriptコマンドへ//H:WScriptスイッチを指定します。同じく、vbsファイルは指定しなくてもOKです。

C:\happy>cscript //H:WScript
実行時の小技4/ヘルプの表示とその他のスイッチ
 cscriptコマンドのヘルプを表示するときは、スイッチvbsファイルを何も指定せず(コマンドのみを)実行します

C:\happy>cscript

 すると、次のようなコマンドの使い方(スイッチの種類)が表示されます。

C:\happy>cscript
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

使い方 : CScript scriptname.extension [オプション...] [引数...]

オプション :
//B バッチ モード : スクリプトのエラーおよびプロンプトを非表示にする
//D アクティブ デバッグを使用可能にする
//E:engine スクリプト実行時にエンジンを使用する
//H:CScript 既定のスクリプト ホストを CScript.exe に変更する
//H:WScript 既定のスクリプト ホストを WScript.exe に変更する (既定値)
//I 対話モード (既定値、//B と逆の動作)
//Job:xxxx WSF ジョブを実行する
//Logo ロゴを表示する (既定値)
//Nologo ロゴを表示しない : 実行時に見出しを表示しない
//S このユーザーの現在のコマンド ライン オプションを保存する
//T:nn 秒単位のタイムアウト時間 : スクリプトを実行できる時間の最大値
//X デバッガでスクリプトを実行する
//U コンソールからリダイレクトされた I/O に Unicode を使用する

C:\happy>
Copyright(C) 1999-2006 結城圭介。 All rights reserved