環境変数
OS が提供するデータ共有機能の一つ。
OS 上で動作するタスク (プロセス)がデータを共有するための仕組み。
特に環境変数 はタスク に対して外部からデータを与え、タスク の挙動・設定を変更する際に用いる。
環境変数 は、UNIX (互換OS や互換環境も含む)、MS-DOS 、Windows に存在する。
一つの環境変数 は、変数 名とその値をもち、通常「変数 名=値」と表記する。
環境変数 は、各プロセスに付随するデータである。
一つのプロセスが複数の環境変数 をもつことができる。
あるプロセスに付随している環境変数 の総体のことを、環境ということがある。
プロセスは、任意に環境変数 を参照して、各種の情報を取得したり、動作を変更したりすることができる。
また、プロセスは自分の環境において、環境変数 を新規に作成したり、
既存の環境変数 の値を変更したり、環境変数 を削除したりできる。
環境変数 には、システムにより定義されるものとユーザが任意に定義するもの、
ほとんどのプログラム に影響を与えるものと特定のプログラム にのみ影響を与えるものがある。
環境は、親プロセスから子プロセスに複製されて継承 される。
すなわち、子プロセスで環境を変更しない限り、子プロセスの環境は親プロセスのそれと同一の内容である。
また、子プロセスが自分の環境に対して行った変更は、親プロセスの環境に影響しない。
[編集] 環境変数 の設定法
MS-DOS と同様の方法の他、コントロールパネルでも設定することができる。
コントロールパネルで設定したものは、それ以降起動されるプロセスで有効となる。また、再起動 後も有効。
コントロールパネルの設定は、システム環境変数 とユーザー環境変数 に分かれている。
コントロールパネルでシステム環境変数 を変更するには、管理者権限が必要。
"path"あるいは"set"コマンドで設定した環境変数 は、そのコマンドを実行したプロンプト上、
及びそこから起動したプロセス上でしか有効ではないため注意が必要である。
[編集] 環境変数 の例
Windows NT 系の例を示す。Windows 9x系では存在しないものもある。
COPYCMD
COPYコマンドのスイッチを指定する。
COMPUTERNAME
コンピュータ 名が設定されている。
CPU , NUMBER_OF_PROCESSORS, PROCESSOR_ARCHITECTURE, PROCESSOR_IDENTIFIER, PROCESSOR_LEVEL, PROCESSOR_REVISION
コンピュータ のプロセッサに関する情報が設定されている。
DIRCMD
DIR コマンドのスイッチを指定する。
HOMEDRIVE
ホームフォルダのドライブ名が設定されている。例: C:
HOMEPATH
ホームフォルダのパス名が設定されている。例: \Documents and Settings\%USERNAME%
OS の種類が設定されている。例: Windows_NT
PATH
コマンド検索パスをセミコロンで区切って指定する。シェル が参照する。
PATHEXT
実行可能ファイルの拡張子 をコロンで区切って指定する。
例:.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS ;.JSE;.WSF;.WSH
PROMPT
コマンドプロンプトの形式を指定する。例: $p$g
ProgramFiles
Program Filesフォルダのパス名が設定されている。例: C:\Program Files
SystemDrive
システムドライブ名が設定されている。例: C:
SystemRoot
Windows フォルダのパス名が設定されている。例: C:\WINDOWS
USERDOMAIN
現在のユーザのログオンドメイン が設定されている。
ドメイン のない環境ではローカル コンピュータ にログオンするためCOMPUTERNAMEと同じになる。
USERNAME
現在のユーザのユーザ名が設定されている。
USERPROFILE
現在のユーザのユーザプロファイルフォルダのパス名が設定されている。
例: C:\Documents and Settings\%USERNAME%
TEMP
一時ファイルを置くディレクトリ を指定する。
例: C:\Documents and Settings\%USERNAME%\Local Settings\Temp
WINDIR