運用 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.スクリプトの実行制御とホスト情報の取得 | ||
運用 |
- ダブルクリック1回でPCを休止状態にする (2011/7/15)
節電の夏。使わないときにはこまめにPCを休止状態にしたいけれど、意外と操作が面倒だったりする。でも休止状態専用のバッチファイルを作れば解決! - SOHO/家庭向けサーバHome Server 2011(中) (2011/7/14)
SOHO、家庭向けの簡易サーバWindows Home Server 2011。今回はディスクや共有フォルダの管理について解説 - 第275話 フェイスブック (2011/7/12)
人と人とのつながりを広げ、コミュニケーションを活性化するフェイスブック。会話の少ないご夫婦の、共通の話題探しにも、ぜひ… - ワンクリックでCMD.EXEを管理者モードで実行する (2011/7/8)
コマンド・プロンプトを管理者モードで実行するのは意外と面倒。しかし[Ctrl]+[Shift]キーを押しながらクリックすれば簡単に管理者モードで実行できる
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
- - PR -