第5回 WshShellオブジェクトの詳細(1)Windows管理者のためのWindows Script Host入門(1/4 ページ)

WshShellオブジェクトを利用し、スクリプトから外部プログラムを起動して、キー・ストロークを送信して制御する。

» 2004年07月08日 00時00分 公開
運用 Windows管理者のためのWindows Script Host入門
Windows Server Insider

 

「運用 Windows管理者のためのWindows Script Host入門」のインデックス

連載目次


 前回までは、WScriptオブジェクトの詳細に関して解説した。今回からはWshShellオブジェクトの解説に入っていこう。

WshShellオブジェクト

 まず、第2回で紹介したWSHオブジェクト・モデルの図を再度掲載しておこう。この図はWSHのビルトイン・オブジェクトをまとめたものである。WSHの標準オブジェクトとしては大きく分けてWScript、WshShell、WshNetwork、WshControllerの4つがある(WshArgumentsからWshUnnamedに関しては、WScriptオブジェクトに付随するものとして前回説明した)。今回から説明するのは、図の下半分にあるWshShellオブジェクト(図の赤枠部分)である。WshShellオブジェクトは、“Shell”という名前が付いていることからも分かるとおり、OSに対する処理を行うオブジェクトである(shellには、「OSを包み込む」という意味がある)。このオブジェクトを利用することで、プログラムの実行や環境変数の操作、レジストリの操作などができる。

WSHオブジェクト・モデル
WSHのビルトイン・オブジェクト一覧。今回からは、このうちWshShellオブジェクト(図の赤い囲み部分)を解説する。

 次表は、WshShellオブジェクトに含まれる各メソッド/プロパティと、それらの役割を一覧にしたものである。

メソッド/プロパティ 役割
Run/Exec プログラムの実行
AppActivate/SendKeys プログラムへのキー・ストロークの送信
SpecialFolders 「デスクトップ」や「マイ ドキュメント」などの特殊フォルダのフルパスの取得
Environment/ExpandEnvironmentStrings 環境変数の取得と設定
CreateShortcut ショートカットの作成
LogEvent アプリケーション・イベント・ログの作成
RegRead/RegWrite/RegDelete レジストリの値の取得と設定
CurrentDirectory カレント・ディレクトリの取得と変更
Popup ダイアログ・ボックスの表示
WshShellオブジェクトのメソッドとプロパティ

 WshShellオブジェクトのメソッド/プロパティと、関連するオブジェクトをまとめると次のような図になる。

WshShellのオブジェクト・モデル
プログラムの実行、プログラムへのキー・ストロークの送信、環境変数の取得と設定、レジスト値の取得と設定などを行うための各種クラスが用意されている。

 前回まで説明してきたWScriptオブジェクトとは違い、WshShellオブジェクトは、明示的にオブジェクトを作成しないと使用できない(WScriptオブジェクトは暗黙的に作成される)。WshShellオブジェクトは“WScript.Shell”というプログラムIDを持つCOMオブジェクトなので、CreateObjectメソッドで作成できる。具体的にWshShellオブジェクトを作成するには次のコードをスクリプトの冒頭部分で記述すれば、objShellをWshShellオブジェクトとして利用できる。

Set objShell = WScript.CreateObject("WScript.Shell")

 objShellという変数名は、変数名の命名規則にさえ従っていれば何でもよいが、この連載ではobjShellという変数名に統一している。連載第4回で説明したとおり、本稿では変数の命名法としてハンガリー記法を使う。


       1|2|3|4 次のページへ

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。