Windows Script Host(WSH)とは何か?
WSHって何なのよ?
Windows Script Host(WSH)は、Windows98/2000/ME/XP(もしくはInternet Explorer4,5,6)を普通にインストールすると、もれなくついてくる便利なユーティリティのことです。その機能を端的に言い表すと、
バッチファイルやマクロのようにある決まった動作を自動的に実行させるツール
となります。
ツールと言ってもこれ単独では別に何の仕事もしてくれないので、実際には、スクリプト言語と言われる一種のプログラム言語を使って、自分が定型化したい作業を順番に指定したスクリプトをメモ帳などのテキストエディタで記述します。こうやって記述したスクリプトファイルを起動すると、中に書かれた一連の作業が自動的に実行されます。一度書いたスクリプトは何回でも使用できますので、毎回手作業でおこなっていた処理が自動化され、手間が省けるわけです。
WSHで何ができるの?
次に、WSHで具体的に何ができるか、紹介してみましょう。
ファイル操作ができる
ファイルやフォルダの削除・コピー・移動などが自由自在です。もっともファイル操作はバッチファイルの方が簡単かもしれません。(だめじゃん) ただしVBスクリプトなどの「本格的なアプリケーションを書くための言語」が利用できるので、その柔軟性や応用性はバッチファイルの比ではありません。
また、ファイルの情報(作成日時、サイズetc)も容易に参照できます。
ショートカットを作ることができる
これはバッチファイルにはマネできませんな。逆にショートカットの情報(リンク先、ホットキーなど)を読み込んだりもできます。
テキスト操作ができる
VBスクリプトなどにはテキストを変換させる関数がいっぱいあります。大文字を小文字に変換したり、置換や検索するのはお手の物です。
テキストファイルの読み込み・書き込みができる
テキストファイルの作成・読み込み・追加書き込みができます。シーケンシャルアクセスしかできないのが玉に瑕…。
計算ができる
VBスクリプトなどには算術演算子がいっぱいあるので、そうとう複雑な計算もこなせます。微積分までは簡単に、とはいきませんが、普通の関数電卓でできる計算(四則計算とかルートとかLogとか階乗とか指数関数とか)くらいのことなら余裕です。
アプリケーションが実行できる
普通にアプリケーション(*.exe)を実行できるだけでなく、ただのファイルを指定しても、関連づけに従ってアプリケーションを起動してそのファイルを読み込ませることができます。また、実行させたアプリケーションが終了するまで次の動作に移るのを待たせることもできます。
レジストリの書き換えができる
これはWSHの目玉機能とも言えるでしょう。バッチファイルやマクロにはできない芸当です(たぶん)。レジストリの値を読んだり書き込んだり削除したりが自由におこなえます。もっともあらかじめ対象とするキーを知っていなければなりませんが。
正規表現が利用できる
正規表現とは、文字列の検索や置換を柔軟におこなうための仕組みです。
ネットワークドライブ・プリンタの接続・切断ができる
ネットワークを組んでいない私には無縁な機能です。
ActiveXコントロールを呼び出せる
ActiveXというのは、アプリケーションがその機能の一部を他のアプリから利用できるようにする仕組みのことです。その機能を提供するのがActiveXコントロールで、WSHからも利用することができます。
Word、Excel、MS Agentなどの操作が可能です。すなわちマクロでできることはWSHでもできるわけです。
また、市販されているものやフリーで配布されている、さまざまなActiveXコントロールを利用することも可能です。
シェル(エクスプローラ)の操作ができる
ウィンドウを並べて表示したり、「ファイル名を指定して実行」、「検索」などのウィンドウを出したり、サスペンドさせたり、コントロールパネルのアイテムを表示させたり、フォルダを開いたりできます。
右クリックメニューの実行なども可能です。(ActiveXオブジェクトの一つ)
Internet Explorerの操作ができる
IEのウィンドウの大きさを変えたり、ステータスバーにメッセージを入れたり、エクスプローラバーを表示させたり、いろいろできます。既存のページのHTMLにアクセスし、内容を読み書きすることもできます。(ActiveXオブジェクトの一つ)
ウィンドウにキーコードが送れる(WSH2.0)
任意のウィンドウに、キーコード(キーを押したという情報)を送ることができます。これによって、キーボードで操作できる、アプリケーションの機能を自動化することがある程度可能となります。
ファイルやフォルダをドラッグアンドドロップできる(WSH2.0)
普通のアプリケーションや、バッチファイルでは、ファイルをドロップして、そのファイルを開くことができますが、それと同じことが、WSHにも可能です。
Active Directoryにアクセスできる
Windows2000で構築されるActive Directoryに対して、ADSI(Active Directory Service Interface)によってアクセスが可能です。
WMIでシステムの一元的な管理ができる
Windows2000/Meで標準機能として付属しているWMI(Windows Management Instrumentation)を呼び出すことで、ソフトウェア・ハードウェア・ネットワークなどのシステム情報を一元的に管理することができます。(そのうちもっと詳しい紹介記事を書きます(^^;)
どうです? 何となく便利なツールのような気がしてきませんか? こんな便利なツールを使わない手はありませんね!タダだし。では次の項目で、実際にどうやって使うんだ?ということを説明していきましょう。