内気なもんた君

時々日本語化してます

環境変数の設定と削除

環境変数の設定

 

* 現在のセッションのみで有効の場合 (閉じると設定が消える)

基本構文 : set 変数名=値

設定すると即座に反映される

例 : set VAR=hoge

 

* ユーザー環境変数の設定 (永続的に有効)

基本構文 : setx 変数名 値

現在のセッションには反映されず、次のセッションから有効

例 : setx VAR hoge

 

* システム環境変数の設定 (永続的に有効)

基本構文 : setx 変数名 値 /M

現在のセッションには反映されず、次のセッションから有効

例 : setx VAR hoge /M

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

環境変数の削除

* セッションのみの削除

set VAR=

 

* ユーザー環境変数の削除

reg delete "HKCU\Environment" /v VAR /f

 

* システム環境変数の削除

reg delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v VAR /f

 

備考 :

set コマンドはメモリ内の環境変数テーブルのみを操作。

ユーザー/システム環境変数レジストリに保存されるので、set コマンドでは削除できない。

setx コマンドはレジストリへの書き込みはできるが削除する機能はない。

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

* まとめ

環境変数の種類 設定 削除 保存場所
セッション set 変数名=値 set VAR= メモリ
ユーザー setx 数名 値 reg delete "HKCU\... レジストリ
システム setx 数名 値 /M reg delete "HKLM\... レジストリ

 

* その他

ユーザー環境変数レジストリ

HKEY_CURRENT_USER\Environment

 

システム環境変数レジストリ

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

 

ファイル名を指定して実行

rundll32 sysdm.cpl,EditEnvironmentVariables