LoginSignup
65

More than 3 years have passed since last update.

Windowsのシステム環境変数とユーザ環境変数

Last updated at Posted at 2012-12-26

環境変数の適用

どちらか片方のみが設定されている場合

設定された値が呼び出される。

両方に設定されている場合

ユーザ環境変数で上書される。
※PATHだけは例外

PATHがシステム環境変数とユーザ環境変数共に設定されている場合

「システム環境変数;ユーザ環境変数」という形で設定される。

  • システム環境変数 : C:\WINDOWS\system32
  • ユーザ環境変数 : %JAVA_HOME%\bin
  • ↑の場合のPATH : C:\WINDOWS\system32;%JAVA_HOME%\bin;

後ろに追加されるというのがミソで、上記の環境の場合 C:\WINDOWS\system32%JAVA_HOME%\binjava.exe が存在する場合には java とコマンドを実行するとC:\WINDOWS\system32java.exe が使用されます。

つまり、システム環境変数を変更できない環境でシステム環境変数でPATHが通っている場合、ユーザ側でPATHを通すことができない。(勿論スクリプト内で一時的に変更する事は可能)

ユーザ毎にPATHを上書きする方法ってあるんですか?

サービスで起動されたアプリケーションの環境変数

通常は「システム環境変数」のみ適用される。
サービスの設定の「ログオンタブ → アカウント」でサービス起動ユーザを指定すると、ユーザ環境変数が反映される。

参考URL

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
65