Windows Script Host(以下、WSH)は、Windows環境でスクリプトを実行するための環境です。スクリプトとは「ちょっとした(簡易な)プログラム」のことだと思っておけば良いでしょう。WSHで動作するスクリプトは、具体的にはVBScriptやJScriptといったスクリプト言語を使って記述することができます。

Windows環境でスクリプトを記述/実行するための環境としては、他にWindows PowerShellなどもありますが、PowerShellは

  • Windows VistaやXPなど多くの環境で改めてインストールしなければならない
  • スクリプトを記述するには、.NET Frameworkの知識が必要
  • 登場して間もないことから、まだまだ情報が少ない

などの理由から、現時点ではまだそれほど普及しているとまでは言えないようです。そこでこの連載では、現時点ではより使われていると思われるWSHの基本的な用法を解説しつつ、役立つスクリプトや小技を紹介していきたいと思います。日頃煩わしいなと思っているような作業も、WSHを使ってちょっと便利に効率化してみましょう!

対象読者

本格的なプログラムの知識はなくても構いません。ただし、本連載ではスクリプトの基本的な書き方(たとえば、変数とはなんぞや、条件分岐とは、のような)についてまでは説明しない予定なので、たとえばJavaScriptのようなスクリプト言語に触れたことがあることが望ましいでしょう(絶対ではありません)。

先述したように、WSHではVBScriptやJScriptのような言語を使ってスクリプトを記述することができますが、本連載ではVBScriptを使用します。VBScriptについて詳しく学びたいという方は「VBScriptユーザーズガイド」のようなページも合わせて参照することをお勧めします。VBScriptは、Visual Basicという本格的なプログラミング言語を、より使いやすいように簡易な形でまとめたサブセットです。

WSHとは?

Windowsの特長と言えば、なんといっても直観的に分かりやすいグラフィカルなユーザインターフェイス。ファイルをどこかに移動するにも、Windowsの世界では「Move~」のようなコマンドを入力する必要はありません。ただ、画面上に表示されたアイコンをドラッグして、移動先のフォルダにドロップするだけで良いのです。簡単ですね。

こんなにすぐれたインターフェイスがあるのに、スクリプトなんて書くのは面倒くさい。そんな風に思う方もいるかもしれませんね。

でも、グラフィカルなユーザインターフェイスも万能ではありません。たとえば、以下のような作業を行いたいとしたら、どうでしょう?

あるフォルダの中からサイズが10MB以上で、かつ、半年以上アクセスしていないファイルを検索して、該当するファイルをリストアップする

ハードディスクの残り容量が少なくなってきた場合に、コンピュータの中を整理するためによくやる作業ですね。もっとも、このような作業でも手作業でやろうとしたら、なかなか大変です。

エクスプローラを開いて、それぞれのファイルの最終アクセス日とサイズを確認して、条件に合致したら、そのファイル名をテキストファイルに書きだす――こんな作業をサブフォルダ/ファイルの数だけ行わなければならないのです(Windowsに慣れたユーザであれば、検索ダイアログを使って、ファイル検索の部分はもう少し効率化できるかもしれません)。

それでも気合いでなんとかする!と意気込んだ方も、これを定期的にやらなければならないとなったら、おそらく意気も消沈するはずですし、そもそも忙しい皆さんがこんな作業のために時間を割くのはバカバカしい話だと思いませんか。

これはほんの一例にすぎませんが、要は、GUIとは人間とコンピュータとが対話的に作業する場合には威力を発揮しますが、単純だけど繰り返し行わなければならないような作業には不向きであるということです。

そこで登場するのが、スクリプト実行環境であるWSHなのです。WSHを利用することで、スクリプトと呼ばれる「手順書」に作業指示を書いておくことで、一連の作業を自動化することができます。もちろん、スクリプトはファイルとして保存しておくことができますので、一度作成したら、繰り返し同じ作業を行いたい場合にも何回でも再利用できます。

しかも、WSHの良いところはWindows 98以降のコンピュータには標準でインストールされているという点です。Windows 2000以前ではWSHのバージョンが古いので、新しいバージョンをインストールする必要がありますが、現在、主流のWindows XP/Vistaを利用しているならば、基本的にはなにもしなくてもWSHを利用できます。ちなみに、この連載ではWindows XP SP3環境でスクリプトの動作を確認しています。