|
運用 Windows管理者のためのWindows Script Host入門 4.スクリプトの実行制御とホスト情報の取得海津智宏2004/04/23 |
![]() |
|
|
|
スクリプトの実行制御
WScriptオブジェクトには、スクリプトの実行を強制的に終了させるQuitメソッドと、実行を一定時間停止させるSleepメソッドが用意されている。
![]() |
このうちSleepメソッドは、ミリ秒単位で待ち時間を指定する。次の例では、1秒おきに「1」「2」「3」と表示され、次にWScript.Quitメソッドで実行が強制終了される。「4」「5」は表示されない。なおVBScriptでは、スクリプト中のアポストロフィ(')から行末まではコメントであり、実際の動作には影響しない。
1:' 1000ミリ秒間一時停止して1を表示 |
スクリプトの実行時パラメータを指定することで、タイムアウト時間やバッチ・モードを指定できることは第2回で解説したが、スクリプト中からも、TimeOutプロパティとInteractiveプロパティを設定することでこれらの設定を変更できる。次の例では、「2」はバッチ・モードのため表示されない。また、4秒でタイムアウトするため「5」は表示されず、「実行時間が制限時間を超えました」というメッセージが表示される。
1:Wscript.Timeout = 4
'4秒でタイムアウトするように設定 |
ホストの情報の取得
![]() |
WScriptオブジェクトのプロパティを使って、現在実行中のスクリプト・ファイルの名称やスクリプト・ホストの情報を取得することができる。
次の例では、スクリプト・ホストのバージョンとファイル名を取得して、条件に合うかどうか判定している。
1:If WScript.Version <> "5.6"
Then |
前半(1行目〜4行目)では、Versionプロパティを確認して、値が5.6でなければメッセージを表示して終了している。これで古いWSHランタイムでの実行を禁止できる。
後半(6行目〜10行目)では、WSHのスクリプト・ホスト・ファイルの名前を確認し、wscript.exeであれば(GUIモードで実行された場合は)同じくメッセージを表示して終了する。
|
FullNameプロパティでは、スクリプト・ホストのファイル名が「C:\WINDOWS\system32\cscript.exe」のようなフルパスで返ってくる。このパスは環境によって変わるので、パス部分を削除するためにVBScriptのRight関数を使って右側11文字を取り出し、さらにUCase関数で小文字を大文字に揃えてWSCRIPT.EXEと比較している。
ホストの情報を取得するプロパティには、これ以外にも次のようなものがある。
| プロパティ | 取得できる値 | 値の例 |
| BuildVersion | WSHのビルド・バージョン番号 | 6626 |
| FullName | ホストの実行ファイル(CScript.exeやWScript.exe)の絶対パス | C:\WINDOWS\system32\cscript.exe |
| Name | スクリプト・ホストの名前。常に“Windows Script Host”を返す | Windows Script Host |
| Path | ホストの実行ファイルのあるフォルダのパス | C:\WINDOWS\system32 |
| ScriptFullName | 実行中のスクリプトの絶対パス | D:\WSH\test.vbs |
| ScriptName | 実行中のスクリプトのファイル名 | test.vbs |
| Version | WSHのバージョン番号 | 5.6 |
| ホスト情報を取得するWScriptオブジェクトのプロパティ | ||
著者の環境では、WSHのフル・バージョンは5.6.6626であり、Versionプロパティで前半部分の5.6が、BuildVersionで後半部分の6626が取得できる。
前回紹介した表では、便宜上Applicationプロパティもホスト情報取得の欄に書いたが、ApplicationプロパティはWScriptオブジェクトそのものを返すプロパティであり、使う機会はないと思われるので説明は省略する。
■
今回はWScriptオブジェクトのうち、実行時パラメータ、スクリプトの実行制御、ホスト情報の取得に関するメソッドとプロパティについて解説した。このほかにもWScriptオブジェクトには、あるWSHコンポーネントで発生したイベントを別のコンポーネントで処理するためのイベント制御機能がある。しかし単純だが面倒な管理作業をごく短いスクリプトで簡易に実行するという本稿の主旨では使う機会はないと思われるので説明は省略した。
以上でWScriptオブジェクトの説明は終わりである。次回は、WSHスクリプトからエクスプローラなどのWindowsシェルを制御するためのWshShellオブジェクトについて説明する予定だ。![]()
| INDEX | ||
| [運用]Windows管理者のためのWindows Script Host入門 | ||
| 第4回 WScriptオブジェクトの詳細(2) | ||
| 1.WSHにおける起動時パラメータの取り扱い | ||
| 2.起動時パラメータのアクセス方法 | ||
| 3.名前付き/名前なしパラメータの使い分け | ||
| 4.スクリプトの実行制御とホスト情報の取得 | ||
| 運用 |
TechTargetジャパン
- クライアントでも利用可能になるHyper-V 3.0とは? (2012/2/9)
Windows 8では、従来のWindows Virtual PCに代わって新しくHyper-V 3.0がクライアント向けにも導入される。その概要を解説 - 第303話 ペアプロ2 (2012/2/7)
あっ、またまたいつぞやの幽霊が! …っと思ったら、何だ倉井さんかぁ…。はぁー、驚いた… - Excelで郵便番号変換ウィザードを活用する (2012/2/3)
Excelで管理している顧客名簿などで、不足している郵便番号や住所を入力するのは意外と面倒。郵便番号変換ウィザードを使えば、これらの入力が簡単になる - PCをシンクライアント化するWindows Thin PCとは? (2012/2/2)
VDI向けにシンクライアントがほしいけど専用機を買う余裕はない… Windows Thin PCなら既存PCを低コストでシンクライアント化できる。まずは概要を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -



