組織内では、環境変数を統一して設定しておくことで、コマンド・プロンプトでの作業などで環境の違いによるトラブルを未然に防ぐことができる。WSHを利用すれば、環境変数の設定に必要な情報をあらかじめ用意しておくだけで、ワンクリックで一連の環境変数を設定できる。環境変数とは、任意のアプリケーションやシステムから参照することができる文字列変数のことだ。代表的な環境変数としては、プログラム起動時の検索先フォルダを表すPATHなどがある。このPATHに例えば「C:\j2se\bin」と設定しておくことで、「C:\j2se\bin\java.exe」をコマンド・プロンプトから呼び出す場合にも、「java.exe」と指定するだけで済むようになる。これは、コマンド・プロンプトがアプリケーションを呼び出す際に、環境変数PATHで指定されたディレクトリを自動的に検索し、該当するファイルが存在しないかどうかを確認しているためだ。この環境変数は、コマンド・プロンプトがメインであったMS-DOSの時代には何かと中心的な役割を果たしてきたが、GUIがメインのWindows環境になって、やや影が薄れた感がある。環境変数がすでに過去のものであるかというと、決してそうではない。原始的なテキスト・エディタでコーディング開発を行っている現場などでは、コマンド・プロンプトは手放せないツールだろう。そのような環境で、必要な環境変数を統一して設定しておくことは大変重要だ。環境変数の設定によっては、用意したバッチ・ファイルが正常に動作しないとか、コンパイル処理が正常にできないというようなことも起こりうるからだ。環境変数をあらかじめ組織内で統一しておくことで、不用意なトラブルを未然に防ぐことができるし、メンバーに作業マニュアルなどを配布する場合にも、一律な環境を想定して手順を記述できるのは何かと便利だろう。Hosts)を利用することで、あらかじめ設定された情報に従って、環境変数を自動設定する方法を紹介する。これによって、組織内で一律な環境を構築することも容易となるし、環境変数に変更があった場合にも設定ファイルを変更するだけで各環境に一律に再適用することができる。手順1—テキスト・エディタでスクリプトのコードを入力するまずはテキスト・エディタ(メモ帳でも何でもよい)を開き、以下のコードを入力してenvironment.wsfというファイルを作成してほしい。引用符(')で始まる行はコードの意味を解説するためのコメント部分なので、省略してもよい。環境変数の情報を管理するWshEnvironmentオブジェクトは、WshShellオブジェクトのEnvironmentプロパティを介して取得することができる。設定したい環境変数の情報を示したenv.datを開き、1行単位で読み込む。環境変数名がPathである場合には、既存の値を消去しないように、既存の値の末尾にセミコロン(;)区切りで新しい値を連結する。既存の値を取得するには、ExpandEnvironmentStringsプロパティで「%環境変数名%」を指定すればよい。File)とする必要がある。ファイル名自体は何でもよいが、ここでは「environment.wsf」という名前で保存しておこう。手順2—WSHのコードを実行するenvironment.wsfを実行するには、エクスプローラなどからenvironment.wsfをダブルクリックするだけだ。2000ならばコントロール・パネルの[システム]−[詳細]−[環境変数]から確認することができるし、コマンド・プロンプト上でsetコマンドを実行してもよい。2000ならば、コントロール・パネルの[システム]から[詳細]−[環境変数]で、現在の環境変数の設定を参照/変更することができる。追加された環境変数の例。env.datの例としては、例えば次のようなものを用意し、これをenvironment.wsfと同一のフォルダに保存しておく。ここではAPACHE_HOME、TOMCAT_HOME、PATHという3つの環境変数を設定している。※ファイルenv.datAPACHE_HOME=C:\Apache2TOMCAT_HOME=C:\Jakarta-Tomcat5PATH=C:\Apache2サンプル・データ・ファイルのダウンロード(注:データ・ファイルを保存するには、上のリンクを右クリックして、environment.wsfと同一のフォルダ内にenv.datとして保存しておくこと。ファイルの各行には、「環境変数名=値」の形式で設定情報を入力する。キー名、値ともに「=」を含めることはできないので注意すること。)Windows環境であらかじめ用意されている環境変数の一覧については、以下のサイトでも参照することができる。TIPS:OSの種類によってバッチ・ファイルの処理を切り替える方法WSHのEnvironmentプロパティ(マイクロソフト)なお、以上の例ではローカルのハードディスク上にWSHスクリプト・ファイルやデータ・ファイルを作成したが、必要ならばこれらをファイル・サーバ上に用意し、直接実行することも可能である。これならば、各マシンにログオンした後、このスクリプトを最初に1回実行するだけで、必要な環境変数が作成される。TIPS「WSHでログオン時に共有フォルダを設定する」で紹介しているので、併せて参照してほしい。以上の例では、WshShell.Environmentプロパティを介して「User」という(ログオン・ユーザー固有の)環境変数を設定しているが、ほかにも以下のような環境変数の種類を設定することができる。