[Scripting] | |||||||||||||
WSHで環境変数を設定する
|
|||||||||||||
|
解説 |
環境変数とは、任意のアプリケーションやシステムから参照することができる文字列変数のことだ。代表的な環境変数としては、プログラム起動時の検索先フォルダを表すPATHなどがある。このPATHに例えば「C:\j2se\bin」と設定しておくことで、「C:\j2se\bin\java.exe」をコマンド・プロンプトから呼び出す場合にも、「java.exe」と指定するだけで済むようになる。これは、コマンド・プロンプトがアプリケーションを呼び出す際に、環境変数PATHで指定されたディレクトリを自動的に検索し、該当するファイルが存在しないかどうかを確認しているためだ。
この環境変数は、コマンド・プロンプトがメインであったMS-DOSの時代には何かと中心的な役割を果たしてきたが、GUIがメインのWindows環境になって、やや影が薄れた感がある。しかし環境変数がすでに過去のものであるかというと、決してそうではない。特に、ごく原始的なテキスト・エディタでコーディング開発を行っている現場などでは、コマンド・プロンプトは手放せないツールだろう。
そのような環境で、必要な環境変数を統一して設定しておくことは大変重要だ。環境変数の設定によっては、用意したバッチ・ファイルが正常に動作しないとか、コンパイル処理が正常にできないというようなことも起こりうるからだ。環境変数をあらかじめ組織内で統一しておくことで、不用意なトラブルを未然に防ぐことができるし、メンバーに作業マニュアルなどを配布する場合にも、一律な環境を想定して手順を記述できるのは何かと便利だろう。
本稿では、WSH(Windows Scripting Hosts)を利用することで、あらかじめ設定された情報に従って、環境変数を自動設定する方法を紹介する。これによって、組織内で一律な環境を構築することも容易となるし、環境変数に変更があった場合にも設定ファイルを変更するだけで各環境に一律に再適用することができる。
操作方法 |
手順1―テキスト・エディタでスクリプトのコードを入力する
まずはテキスト・エディタ(メモ帳でも何でもよい)を開き、以下のコードを入力してenvironment.wsfというファイルを作成してほしい。ただし引用符(')で始まる行はコードの意味を解説するためのコメント部分なので、省略してもよい。
※ファイルenvironment.wsf |
- サンプル・ファイルのダウンロード
(注:サンプルenvironment.wsfを実行するには、上のサンプル・ファイルを右クリックしてenvironment.wsfというファイル名で保存する)
WSHの実行ファイルは拡張子「.wsf」(Windows Scripting host File)とする必要がある。ファイル名自体は何でもよいが、ここでは「environment.wsf」という名前で保存しておこう。
手順2―WSHのコードを実行する
environment.wsfを実行するには、エクスプローラなどからenvironment.wsfをダブルクリックするだけだ。実行結果は、Windows 2000ならばコントロール・パネルの[システム]−[詳細]−[環境変数]から確認することができるし、コマンド・プロンプト上でsetコマンドを実行してもよい。
environment.wsfの実行結果 | |||
Windows 2000ならば、コントロール・パネルの[システム]から[詳細]−[環境変数]で、現在の環境変数の設定を参照/変更することができる。 | |||
|
env.datの例としては、例えば次のようなものを用意し、これをenvironment.wsfと同一のフォルダに保存しておく。ここではAPACHE_HOME、TOMCAT_HOME、PATHという3つの環境変数を設定している。
※ファイルenv.dat |
- サンプル・データ・ファイルのダウンロード
(注:データ・ファイルを保存するには、上のリンクを右クリックして、environment.wsfと同一のフォルダ内にenv.datとして保存しておくこと。ファイルの各行には、「環境変数名=値」の形式で設定情報を入力する。ただし、キー名、値ともに「=」を含めることはできないので注意すること。)
Windows環境であらかじめ用意されている環境変数の一覧については、以下のサイトでも参照することができる。
なお、以上の例ではローカルのハードディスク上にWSHスクリプト・ファイルやデータ・ファイルを作成したが、必要ならばこれらをファイル・サーバ上に用意し、直接実行することも可能である。これならば、各マシンにログオンした後、このスクリプトを最初に1回実行するだけで、必要な環境変数が作成される。ログオン時に必要な共有フォルダへの設定を行う方法は、Windows TIPS「WSHでログオン時に共有フォルダを設定する」で紹介しているので、併せて参照してほしい。
環境変数の種類
以上の例では、WshShell.Environmentプロパティを介して「User」という(ログオン・ユーザー固有の)環境変数を設定しているが、ほかにも以下のような環境変数の種類を設定することができる。
種類 | 概要 |
SYSTEM | システム環境変数。全ユーザーに適用 |
USER | ユーザー環境変数。ログオン・ユーザーごとに適用 |
PROCESS | プロセス環境変数。現在有効な全環境変数(読み込み専用) |
VOLATILE | 一時環境変数。ログオフと同時に破棄される一時的な環境変数 |
環境変数の種類 | |
環境変数には、定義されている場所(存在場所)に応じてこれらの種類がある(大文字/小文字は区別されない)。 |
Environmentプロパティにおいて、もしもこれらの「種類」を省略した場合には、Windows 9x/MeではPROCESSが、それ以外のOSではSYSTEMであると見なされる。ただしWindows 9x/MeではPROCESS以外は指定できないので注意すること。
関連記事 | ||
Windows TIPS:OSの種類によってバッチ・ファイルの処理を切り替える方法(Windows Server Insider) | ||
Windows TIPS:WSHでログオン時に共有フォルダを設定する(Windows Server Insider) | ||
関連リンク | ||
WSHのEnvironmentプロパティ(マイクロソフト) | ||
この記事と関連性の高い別の記事
- 環境変数を変更する(TIPS)
- 環境変数のサイズやPATHの長さ制限に注意(TIPS)
- setxで環境変数の値を設定する(基本編)(TIPS)
- 実行ファイルの拡張子を追加定義する(TIPS)
- WindowsでTempフォルダの場所を変更する(TIPS)
このリストは、デジタルアドバンテージが開発した自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
「Windows TIPS」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|