Windowsの環境変数について少し詳しく(2)~ボラティル環境変数~

前回「 Windowsの環境変数について少し詳しく(1)~環境変数の種類~ 」で作成した env.vbsを次のように実行すると、現在、設定されているボラティル(Volatile)環境変数が表示される。
cscript //nologo env.vbs | find "Volatile"

環境によって内容は違うけど、大体こんな感じになる。
Volatile : LOGONSERVER=\\PCNAME
Volatile : USERDOMAIN=PCNAME
Volatile : USERNAME=username
Volatile : USERPROFILE=C:\Users\username
Volatile : HOMEPATH=\Users\username
Volatile : HOMEDRIVE=C:
Volatile : APPDATA=C:\Users\username\AppData\Roaming
Volatile : LOCALAPPDATA=C:\Users\username\AppData\Local

これらの変数はシステムのログオン時に生成される。

ボラティル環境変数にユーザーインターフェースは用意されていないが、VBScriptで次のように定義することができる。
Option Explicit
dim objWshShell,objEnv
set objWshShell = WScript.CreateObject("WScript.Shell")

set objEnv = objWshShell.Environment("Volatile")
objEnv.item("Vola1") = "俺はボラティル!短い命。"

set objEnv = nothing
set objWshShell = nothing

このプログラムをsetvola.vbsとして保存して実行するとボラティル変数として%Vola1%が定義される。
この変数を通常の環境変数として参照するには新しいコマンドプロンプトを開いて、
set | find "Vola1"

とか入力すると
Vola1=俺はボラティル!短い命。

と表示される。
つまり、ログオンセッション全体で共有可能な一時的な環境変数である。
ちょっとしたプロセス間通信に使えるかもしれない。

ところで環境変数はレジストリの次にシステムの挙動を左右する。
ログオン時に生成されているボラティル環境変数は変更すると、ろくなことが起きないので注意したほうがいい。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック