2005-11 / 2005-11-15

前のエントリ: 今日の戦利品 [ぬいぐるみ]
次のエントリ: 環境変数の変更が即反映されない? [win]

バッチで環境変数を変更
2005-11-15-1 / カテゴリ: [win] / [permlink]

@IT:Windows管理者のためのWindows Script Host入門 第6回

UNIX と違って,環境変数の有効範囲がいろいろあるみたい.マイコンピュータのプロパティでも,ユーザ環境変数(User)とシステム環境変数(System)の2種類があるけど,さらに,現在のログオン(Volatile)と現在のプロセス(Process)がある.

Set objShell = WScript.CreateObject("WScript.Shell")

Set colEnv = objShell.Environment("User")
colEnv.Remove("EMACS")
colEnv.Item("EMACS") =      "MEADOW"
colEnv.Item("GNUCLIENTW") = "-F"
colEnv.Item("GNUDOITW") =   "-F"
colEnv.Item("RUNEMACS") =   "c:/Meadow/bin/RunMW32.exe"

Set colEnv = objShell.Environment("System")
colEnv.Remove("FOO")
colEnv.Remove("BAR")
で,
ユーザ環境変数の
1. EMACS を削除
2. EMACS を MEADOW に設定
3. GNUCLIENTW を -F に設定
4. GNUDOITW を -F に設定
5. RUNEMACS を "c:/Meadow/bin/RunMW32.exe" に設定
システム環境変数の
1. FOO を削除
2. BAR を削除
という処理.

XP では即反映.マイコンピュータのプロパティの内容も書き換わる.それ以外のバージョンは知らない.

というか,wsh でコメントって何て書くんだろ???
Referrer (Inside): [2006-01-15-2]
前のエントリ: 今日の戦利品 [ぬいぐるみ]
次のエントリ: 環境変数の変更が即反映されない? [win]

2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2013-05-02 16:12