たまに触ろうとしたら書式がわからなかったので備忘録
環境変数の参照
echo $env:PATH
環境変数のセット
環境変数MY_ENV
に"curry"
という文字列をセット
$env:MY_ENV = 'curry'
確認
PS C:\Users\zaki> $env:MY_ENV = 'curry' PS C:\Users\zaki> echo $env:MY_ENV curry PS C:\Users\zaki>
環境変数一覧
Get-ChildItem
でenv:
を引数に指定すればリストアップできる。
PS C:\Users\zaki> Get-ChildItem env: Name Value ---- ----- ALLUSERSPROFILE C:\ProgramData ALTERNATE_EDITOR C:\local\emacs\bin\runemacs.exe ANDROID_HOME C:\android\android-sdk-windows APPDATA C:\Users\zaki\AppData\Roaming : :
aliasのgci
でもOK
PS C:\Users\zaki> gci env: Name Value ---- ----- ALLUSERSPROFILE C:\ProgramData ALTERNATE_EDITOR C:\local\emacs\bin\runemacs.exe ANDROID_HOME C:\android\android-sdk-windows APPDATA C:\Users\zaki\AppData\Roaming : :
システムワイドに(永続的に)設定
ユーザー環境変数
PS C:\Users\zaki> [System.Environment]::SetEnvironmentVariable("MY_USER_ENV", "curry land", "User")
システム環境変数
システム環境変数を設定するには、管理者権限が必要。
ない場合はエラーになる。
PS C:\Users\zaki> [System.Environment]::SetEnvironmentVariable("MY_SYSTEM_ENV", "curry world", "Machine") "3" 個の引数を指定して "SetEnvironmentVariable" を呼び出し中に例外が発生しました: "要求されたレジストリ アクセスは許可 されていません。" 発生場所 行:1 文字:1 + [System.Environment]::SetEnvironmentVariable("MY_SYSTEM_ENV", "curry ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : SecurityException PS C:\Users\zaki>
PowerShellのターミナルの場合は「管理者権限で実行」でPowerShellターミナルを起動すれば設定できる。
Windows 10 Proで確認
PS C:\Users\zaki> $PSVersionTable Name Value ---- ----- PSVersion 5.1.18362.628 PSEdition Desktop PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...} BuildVersion 10.0.18362.628 CLRVersion 4.0.30319.42000 WSManStackVersion 3.0 PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1
参考