それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

WSHで環境変数を書き換える

Windowsでマイコンピュータを開けて、何度も書き換えるのが面倒なので、スクリプト化した。

Windowsユーザーの環境変数を書き換える。

WshShell = new ActiveXObject( "WScript.Shell" );

var env = WshShell.Environment("USER");//←USERは環境変数の適用範囲
WScript.Echo( env.Item("PATH") );

function addEnv( key,value ){
  WshShell = new ActiveXObject( "WScript.Shell" );
  var env = WshShell.Environment("USER");
  if( env.Item(key) ){
    WshShell.
  }
}

環境変数レジストリの対応表

詳しくは解説サイトに書いてあった。

指定可能 名称 適用範囲
"SYSTEM" システム環境変数 すべてのユーザーに適用される
"USER" ユーザー環境変数 ユーザーごとに設定可能
"VOLATILE" 揮発性環境変数 ログオフとともにクリアされる
"PROCESS" プロセス環境変数 現在読み込まれているすべての環境変数
関数の説明
Environment([strType])
WshEnvironmentオブジェクト(環境変数を格納したオブジェクト)を返します。
Windows95/98では、strTypeには、
"PROCESS"(プロセス環境変数;すべての環境変数)が指定できます。
strTypeを省略することもできます。(その場合はもちろん"PROCESS"になります)
WindowsNT4.0/2000では、strTypeには、


参照元http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/object/wshshell.htm

環境変数レジストリは対応している。

WSH環境変数弄りたければ、レジストリを弄った方が楽かも。

レジストリとの対応表
指定可能 意味 レジストリ
"SYSTEM" システム環境変数 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
"USER" ユーザー環境変数 HKEY_CURRENT_USER\Environment
"VOLATILE" 揮発性環境変数 HKEY_CURRENT_USER\Volatile Environment
"PROCESS" プロセス環境変数 レジストリはなし(読み込み専用)