毎度混乱する Path 設定。
PowerShell での操作
パスの一覧
PS> $ENV:Path
以下のようにすると、見やすい。
PS> $ENV:Path -split ';'
$ENV:Path.Split(";")
でも可。
パスの設定
PS> $ENV:Path = "c:\foo\bar;" + $ENV:Path
末尾に追加する場合は以下で可
PS> $ENV:Path += ";c:\foo\bar"
環境変数への保存
PS> setx PATH "c:\foo\bar;$ENV:Path"
ユーザ環境変数へ保存される。システム環境変数に保存するには /M
オプションで setx /M PATH "c:\foo\bar;$ENV:Path"
のように指定する。
以下でも可能であるが、[Environment]::SetEnvironmentVariable
は変数展開が行われなくなるので、前述の方が安全。
[Environment]::SetEnvironmentVariable( "Path", [Environment]::GetEnvironmentVariable("Path", "User") + ";c:\foo\bar", "User" )
システム環境変数の場合は、管理者権限で、"User" を "Machine" に変えれば良い(2箇所とも)。
GUIから設定する場合は win
キーで「env」から 「環境変数...」で設定。
コマンドプロンプトでの操作
パスの一覧
> path
echo %PATH%
でも同じ。
なお、%Path%
でも %path%
でも同じだが、変数は大文字で書くことが多い。
パスの設定
> path c:\foo\bar;%PATH%
set PATH=c:\foo\bar;%PATH%
でも同じ。
末尾に追加する場合は %PATH%;c:\foo\bar
のように指定する(この場合は優先順位が低くなる)。が、わざわざ優先順位を低く追加するケースは無いであろう。
環境変数への保存
> setx PATH "c:\foo\bar;%PATH%"
ユーザ環境変数へ保存される。システム環境変数に保存するには /M
オプションで setx /M PATH "c:\foo\bar;%PATH%"
のように指定する。
GUIから設定する場合は win
キーで「env」から 「環境変数...」で設定。