zaki work log

作業ログやら生活ログやらなんやら

PowerShellで環境変数の設定と参照

たまに触ろうとしたら書式がわからなかったので備忘録

環境変数の参照

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-ChildItemenv:を引数に指定すればリストアップできる。

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ターミナルを起動すれば設定できる。

f:id:zaki-hmkc:20200413124733p:plain


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

参考

www.whyit.work

hosopro.blogspot.com