* 環境変数の操作 - env [#q2ef1292]
** 環境変数一覧を取得する [#o495b1b1]
Get-ChildItem env:
dir env: # エイリアス
*** システム環境変数・ユーザー環境変数それぞれの一覧を取得する [#f75381ff]
[Environment]::GetEnvironmentVariables("Machine") # システム環境変数一覧
[Environment]::GetEnvironmentVariables("User") # ユーザー環境変数一覧
[Environment]::GetEnvironmentVariables("Process") # dir env: と同等
- コマンドレットではこれに該当するものがない。
- env:で取得するのはPowerShell実行時のプロセス下の設定。
- https://stackoverflow.com/questions/30675480/windows-user-environment-variable-vs-system-environment-variable
** 環境変数を検索する [#jcc95605]
Get-ChildItem -Path env:*user*
** 環境変数を取得する [#x3331953]
Get-ChildItem env:APPDATA
*** ユーザー環境変数を取得する [#f418744d]
[Environment]::GetEnvironmentVariable("Path", "User")
** 環境変数を修正する [#e308a32d]
$env:Path += ";C:\foo\bin"
** 永続的に環境変数を修正する [#t12b2dde]
[Environment]::SetEnvironmentVariable( "foo", 123, [System.EnvironmentVariableTarget]::Machine )
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\bin", [EnvironmentVariableTarget]::Machine
*** %APPDATA%などの変数記法を使う場合: [#w0295ad0]
[environment]::SetEnvironmentVariable("VIM", "%APPDATA%\Vim", "User")
*** コマンドプロンプトを使う場合 [#zd24294b]
setx Path "c:\java\bin"
** 参考 [#i90988ed]
- https://stackoverflow.com/questions/714877/setting-windows-powershell-path-variable
- https://ss64.com/ps/syntax-env.html