![]() |
|
|
基礎解説 チェック式 WSH入門 第10回 WScriptオブジェクトを利用する(1) 1.WScriptオブジェクト Microsoft MVPVisual Developer - Scripting 牟田口 大介 2007/05/17 |
|
|
|
|
|
前回から少し時間がたったが、皆さんいかがお過ごしだろうか? その間、筆者は、Windowsスクリプティングの世界に新たに加わったWindows PowerShellと、この連載で取り上げているWSH(Windows Script Host)を比較し、両者の使い分けを考察する趣旨の記事を書いたので、新しいPowerShellに興味のある方はぜひ読んでいただきたいと思う。 さて、前回まではVBScriptの文法について述べてきた。今回から数回にわたって、VBScriptを用いてWSHの提供するオブジェクトを使いこなす方法について解説する。 WSHの提供するオブジェクト――WScriptオブジェクトWSHの提供するオブジェクトは数多く存在するが、その中からまずは基本となるWScriptオブジェクトを解説する。WScriptオブジェクトはWSHが起動する際に自動的にインスタンス化されるオブジェクトなので、Dimステートメントを用いた変数宣言、およびSetステートメントを用いたオブジェクトの代入を行う必要はなく、「WScript.<プロパティやメソッド>」のように直接呼び出すことができる。なお、このような動作は前回解説したErrオブジェクトと似ているが、ErrオブジェクトはVBScriptのオブジェクトなので、Internet Explorer上で表示されるHTML文書内のスクリプトなどでも用いることができるが、WScriptオブジェクトはWSH固有の機能なので、HTML中では使用できない。 WScriptオブジェクトはスクリプトの動作を設定・取得するためのプロパティ群と、スクリプトの制御を行うためのメソッド群で成り立っている。まずはその一覧をお目に掛けよう。 |
| プロパティ | |
| WSH実行ファイルの情報 | Name:WSHの実行ファイル名 |
| Path:WSHの実行ファイルのあるフォルダ・パス | |
| FullName:WSHの実行ファイルパス | |
| Version:WSHのバージョン | |
| スクリプトの情報 | ScriptName:スクリプトのファイル名 |
| ScriptFullName:スクリプトのフルパス | |
| Interactive:バッチモードorインタラクティブモード | |
| TimeOut:タイムアウトの秒数 | |
| Arguments:コマンドライン引数の情報 | |
| 標準入出力 | StdIn:標準入力 |
| StdOut:標準出力 | |
| StdErr:標準エラー出力 | |
| WScriptオブジェクトのプロパティ | |
| メソッド | |
| メッセージ表示 | Echo:メッセージを表示 |
| スクリプト実行制御 | Quit:スクリプトの終了 |
| Sleep:スクリプトの一時停止 | |
| オブジェクトの取り扱い | CreateObject:オブジェクトの作成 |
| ConnectObject:オブジェクトに接続 | |
| DisconnectObject:オブジェクトを切断 | |
| GetObject:オブジェクトの取得 | |
| WScriptオブジェクトのメソッド | |
この表に従って、それぞれのプロパティとメソッドの使い方を見ていこう。
WSH実行ファイルの情報を取得するプロパティとメッセージ表示メソッド
まずは、簡単なプロパティとメソッドから紹介する。前回述べたオブジェクトの話を念頭に置いて読み進んでいただきたい。まずはWSHのホスト実行ファイルの情報を取得するスクリプトを取り上げる。
※ファイル:ShowWSHInfo.vbs |
このスクリプトをwscript.exeで実行すると(*)、次のようなOKボタン付きのダイアログが表示される。
| * 第1回で述べたとおり、WSHにはGUI版のwscript.exeとCUI版のcscript.exeの2つの実行ファイルが存在する。スクリプトのファイル名を例えばShowWSHInfo.vbsとすると、wscript.exeで実行するにはコマンド・プロンプト上で「wscript.exe ShowWSHInfo.vbs」とする。もしくはエクスプローラ上でShowWSHInfo.vbsをダブル・クリックすると、デフォルトの設定ではwscript.exeで実行される。 |
![]() |
| WSHのホスト情報を表示するスクリプト(1) |
| WScriptオブジェクトのEchoメソッドを用い、WScriptオブジェクトのプロパティのの中から、ホスト実行ファイル情報を表示している。 |
WScriptオブジェクトのEchoメソッドは、引数に文字列を取り、その内容を表示するメソッドである。また、WScriptオブジェクトの各プロパティを参照することで、ホスト実行ファイルの情報(名前、フォルダ・パス、ファイルのフルパス、バージョン)を取得している。これらのプロパティによってWSHが古いバージョン(例えば2.0など)の場合に処理をとりやめたり(これは後で述べるQuitメソッドを併用する)、ホストがwscript.exeかcscript.exeかを判別したりできる。
Echoメソッドは「,(カンマ)」で区切って複数の引数を取ることができ、指定した文字列が連結された結果を表示する。すなわち最初のスクリプトは次のように簡便に記述できるということである。
※ファイル:ShowWSHInfo2.vbs |
このスクリプトをwscript.exeで実行すると次のように表示される。
![]() |
| WSHのホスト情報を表示するスクリプト(2) |
| Echoメソッドで複数の文字列を引数として渡すと、それらが空白文字で連結された文字列を表示する。 |
引数に与えた複数の文字列が自動的に空白文字で連結されて表示されるので便利である。
EchoメソッドはVBScriptのMsgBox関数と動作が似ているが、これらのスクリプトをcscript.exeで実行すると異なった挙動を示す。1つ目のスクリプトをcscript.exeで実行すると次のようになる。
![]() |
| WSHのホスト情報を表示するスクリプト(1)をcscript.exeで実行 |
| Echoメソッドの引数に与えた文字列が直接コマンド・プロンプト内に表示される。FullNameプロパティの値がC:\WINDOWS\system32\cscript.exeになっていることにも注目。 |
OKボタン付きのダイアログが表示されるのではなく、このようにコマンド・プロンプト内に直接表示される。また、Echoメソッド実行時にスクリプトが中断されないので、スクリプトの経過表示をするのに便利である。ちなみにcscript.exe内でEchoメソッドを用いると、改行文字が自動的に付加されるので、1つ目のスクリプトは次のように書き換えても同様の結果が得られる。cscript.exeで実行する際にはこちらの書き方が直感的だろう。
※ファイル:ShowWSHInfo3.vbs |
| INDEX | ||
| [基礎解説]チェック式 WSH入門 | ||
| 第10回 WScriptオブジェクトを利用する(1) | ||
| 1.WScriptオブジェクト | ||
| 2.スクリプト・ファイルの情報を取得するプロパティ | ||
| 3.名前付きと名前なし引数 | ||
| 基礎解説 |
ホワイトペーパー(TechTargetジャパン)
- 第207話 究極の人事システム (2010/2/9)
部長、わが人事部が開発した究極の人事評価システムがついに完成しました! これで不要な社員が一発で分かります! - WindowsTIPS (2010/2/5)
− netshコマンドでTCP/IPのパラメータを設定する
− Virtual PC 2007の共有NATで利用可能なアドレス範囲
− スタンバイ復帰でパスワード入力を要求されないように - 仮想環境でActive Directoryを利用する (2010/2/4)
仮想環境にADをインストールすれば、自由にActive Directoryドメイン・ネットワークを構築して実験できる - 第206話 バナー広告案 (2010/2/2)
いまどきWebマーケティングが不可欠なのは分かるが、強烈な競合に並べてバナーなんか出して、勝ち目はあるのか?
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | 企業の仮想化に足りない“発想”とは? 仮想化運用管理のキモは意外なところに! New! |
| ◆ | 操作もマニュアルも分かりやすい! ユーザー視点で開発されたPC管理ツール New! |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |

| ◆ | セキュリティを知り尽くす上野氏が登壇! @ITメールソリューションLive! in Tokyo |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
| ◆ | 世界に通用するストレージの作り方とは? 製品に込めた思いを富士通の開発者に聞く |

| ◆ | OSSで手間も時間も、障害も減った―― 「マピオンの事例」オープンソース活用法 |
| ◆ | 「ノートPCの持ち出し禁止」で大丈夫? 情報漏えいを防ぐ管理手法とインフラは? |
| ◆ | 1日の処理を1秒に――MySQLの達人が語る 「コスト削減」できるチューニング |

| ◆ | ドキュメント作成を自動化して、SEの作業 効率を大幅アップ! Visio 2007の魅力 |
| ◆ | 急速に広がるHyper-Vでのサーバ仮想化 そのベストプラクティスをデルが解説 |
| ◆ | @IT主催セミナーで語られた、「担当者に 求められるセキュリティ対策」をレポート |

| ◆ | @IT「Windows 7」 特設サイトオープン! 最新情報・移行ノウハウを公開しています |










