Windows10 Creators Updateで手順がわかりにくくなったのでメモ
今まではコントロールパネルやWin+X Y
でシステムを立ち上げるとうまくいったのだが,上記アップデートでいろいろと条件が変わった
GUIツールでいじる
検索ツール(windowsのスタートメニューを開いてタイピングすると勝手に立ち上がる)でsysdm.cpl
を検索して立ちあげる
Power Shell
SetEnvironmentVariableを基にしたコマンドを使う.
新しく作る場合
[System.Environment]::SetEnvironmentVariable("TestVariable", "test", "User")
第一変数は変数名,第二変数は設定したい変数の中身,第三変数は"User","Machine"を選んで,ユーザー環境変数を設定するのか,システム環境変数を設定するのかを決める.試した限りだと"Machine"の場合管理者権限でpowershellを立ち上げないと変更できない(Win+X Aで管理者権限で実行できる.)
既存のものに追加する場合
$temp = [System.Environment]::GetEnvironmentVariable("Path", "Machine")
$temp += ";new/path"
[System.Environment]::SetEnvironmentVariable("Path", $temp, "Machine")
長くてめんどくさい!
何をしているのかというと,powershellの機能の一つである.NET Frameworkのクラス・ライブラリを呼び出している.([クラス名]::クラスメソッド(引数)という形で呼び出しているようだ).NET Frameworkに精通している人にとっては結構便利なのかもしれない.しかしデフォルトのパワーシェルでは,補完が利きすぎて,あまりうまく使えない.
psスクリプトを作ればよいのだろうが,実行権限などが面倒そうでやめた.そんなに頻繁にやる作業でもないし,良いGUIもあるので……
参考
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-powershell-1.0/ff730964(v=technet.10)
http://www.atmarkit.co.jp/ait/articles/0709/20/news125_5.html
https://hosopro.blogspot.jp/2017/01/powershell-set-environment-variable.html
WSLをはじめとしてWindowsは開発環境としてもどんどん使いやすくなっているように思える.パスの追加ツールのGUIもかなり改善したように思えるのだけど,見つかりにくくなってしまったのは残念.開発者向けの設定はどんどん隠ぺいしていたり,互換性を保つために残しているツールがモダンなUIなものに入れ替わって来ているのでGUI側だと最近は設定方法がころころ変わっていってしまっているように思える.今後はいろいろとPower Shell経由でいじるようにするのが捗るかもしれない.