地味によく分からなかったからずっとGUIからやってた。
Windowsのdotfiles作りたくてググっても自分がやりたいことそのものがなかなか出てこなかったのでメモ。
GUIで変更
環境変数はユーザー側とシステム側がある。
ユーザー一人しかいないならどっち変えてもいいけど、ユーザー側を変えればいいと思う。
これでの変更方法はググれば腐るほどあるし、やりたいことと違うので書かない。
PowerShellで一時的な変更
$Env:Path
にユーザー側とシステム側のPathがごっちゃになった文字列が入ってる。
PowerShell閉じたら元に戻る。一時的でよければこれでよし。
頭にセミコロン入れるの忘れないこと。
$Env:Path += ";C:\HOGE"
#=> C:\Program Files\PowerShell\7;C:\Program Files..(中略)..;C:\HOGE
PowerShellで永続的な変更
環境変数の取得はGetEnvironmentVariable
、設定はSetEnvironmentVariable
を使う。
ユーザー側なら"User"
、システム側なら"Machine"
を指定する。
つまりユーザー側の環境変数PATHにC:\HOGE
を追加したいならこう。
とくに警告とか出ないので書き間違いに気を付けること。
$new_dir = "C:\HOGE"
$new_path = [Environment]::GetEnvironmentVariable("Path", "User")
$new_path += ";$new_dir"
[Environment]::SetEnvironmentVariable("Path", $new_path, "User")
もっと簡単な方法あったら教えてください。