PowerShellでの環境変数の扱い方とは?

今回は、PowerShellでの環境変数の扱い方について説明します。環境変数とは、オペレーティングシステムが提供するシステム変数のことです。PowerShellで環境変数を操作することができます。
ここでは、環境変数の参照、環境変数Pathに追加・置換・削除、ユーザ環境変数を追加、環境変数の削除、環境変数の利用、について紹介します。
PowerShellでの環境変数の扱い方に興味のある方はぜひご覧ください。
環境変数の参照
PowerShellでの環境変数の参照方法を紹介します。
実際のコマンドを見てみましょう。Get-ChildItem env:コマンドで環境変数の一覧を取得できます。
|
PS C:\> Get-ChildItem env:
|
Name Value
—- —–
ALLUSERSPROFILE C:\ProgramData
APPDATA C:\Users\user\AppData\Roaming
CommonProgramFiles C:\Program Files\Common Files
CommonProgramFiles(x86) C:\Program Files (x86)\Common Files
CommonProgramW6432 C:\Program Files\Common Files
(中略)
特定の環境変数を参照する場合は以下のように記述します。
|
PS C:\> Get-ChildItem env: | Where-Object {$_.Name -eq 'TMP'}
|
Name Value
—- —–
TMP C:\Users\user\AppData\Local\Temp
PS C:\>
以下のようにも記述できます。
|
PS C:\> Get-ChildItem env:TMP
|
Name Value
—- —–
TMP C:\Users\user\AppData\Local\Temp
PS C:\>
環境変数にアクセスするには以下のように記述します。
|
PS C:\> $env:TMP
C:\Users\user\AppData\Local\Temp
PS C:\>
|
このように、PowerShellでは環境変数を参照できます。
環境変数Pathに追加・置換・削除
PowerShellでの環境変数の変更方法を紹介します。
実際のコマンドを見てみましょう。まずは環境変数Pathを表示してみます。
|
PS C:\> $env:Path
C:\Program Files (x86)\Common Files\Oracle\Java\javapath; (中略) C:\Users\user\AppData\Local\Microsoft\WindowsApps;C:\Users\user\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\user\.dotnet\tools;C:\Users\user\.dotnet\tools;C:\Users\user\AppData\Roaming\npm;
PS C:\>
|
環境変数の先頭にパスを追加するには以下のように記述します。
|
PS C:\> $env:Path = ""C:\path\to\test;"" + $env:Path
PS C:\> $env:Path
C:\path\to\test;C:\Program Files (x86)\Common Files\Oracle\Java\javapath; (中略) C:\Users\user\AppData\Local\Microsoft\WindowsApps;C:\Users\user\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\user\.dotnet\tools;C:\Users\user\.dotnet\tools;C:\Users\user\AppData\Roaming\npm;
PS C:\>
|
パスを削除するにはReplaceを使用します。
|
PS C:\> Set-Item env:Path $env:Path.Replace(""C:\path\to\test;"", """")
PS C:\> $env:Path
C:\Program Files (x86)\Common Files\Oracle\Java\javapath; (中略) C:\Users\user\AppData\Local\Microsoft\WindowsApps;C:\Users\user\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\user\.dotnet\tools;C:\Users\user\.dotnet\tools;C:\Users\user\AppData\Roaming\npm;
PS C:\>
|
環境変数の末尾にパスを追加するには以下のように記述します。
|
PS C:\> $env:Path += ""C:\path\to\test;""
PS C:\> $env:Path
C:\Program Files (x86)\Common Files\Oracle\Java\javapath; (中略) C:\Users\user\AppData\Local\Microsoft\WindowsApps;C:\Users\user\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\user\.dotnet\tools;C:\Users\user\.dotnet\tools;C:\Users\user\AppData\Roaming\npm;C:\path\to\test;
PS C:\>
|
パスを置換するにはReplaceを使用します。
|
PS C:\> Set-Item env:Path $env:Path.Replace(""C:\path\to\test;"", ""C:\path\to\sample;"")
PS C:\> $env:Path
C:\Program Files (x86)\Common Files\Oracle\Java\javapath; (中略) C:\Users\user\AppData\Local\Microsoft\WindowsApps;C:\Users\user\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\user\.dotnet\tools;C:\Users\user\.dotnet\tools;C:\Users\user\AppData\Roaming\npm;C:\path\to\sample;
PS C:\>
|
追加したパスは削除しておきます。
|
PS C:\> Set-Item env:Path $env:Path.Replace(""C:\path\to\sample;"", """")
PS C:\>
|
このように、PowerShellでは環境変数を変更できます。
ユーザ環境変数を追加
PowerShellでの環境変数の追加方法を紹介します。
実際のコマンドを見てみましょう。
|
PS C:\> $env:TESTENV=""testEnv""
PS C:\> $env:TESTENV
testEnv
PS C:\>
|
環境変数が追加されていることが分かります。
環境変数の削除
PowerShellでの環境変数の削除方法を紹介します。
実際のコマンドを見てみましょう。Remove-Itemコマンドを使用します。
|
PS C:\> $env:TESTENV=""testEnv""
PS C:\> $env:TESTENV
testEnv
PS C:\> Remove-Item env:TESTENV
PS C:\> $env:TESTENV
PS C:\>
|
追加した環境変数が削除されていることが分かります。
環境変数の利用
PowerShellでの環境変数の利用方法を紹介します。
実際のコマンドを見てみましょう。ここでは、環境変数名でフォルダを作成してみます。
|
PS C:\> $env:TESTENV=""testEnv""
PS C:\> Get-ChildItem .\test\
PS C:\> mkdir .\test\$env:TESTENV
|
ディレクトリ: C:\test
Mode LastWriteTime Length Name
—- ————- —— —-
d—– 2020/11/11 21:57 testEnv
PS C:\> Get-ChildItem .\test\
ディレクトリ: C:\test
Mode LastWriteTime Length Name
—- ————- —— —-
d—– 2020/11/11 21:57 testEnv
PS C:\>
まとめ
いかがでしたでしょうか。PowerShellでの環境変数の扱い方について説明しました。
ここでは、環境変数の参照、環境変数Pathに追加・置換・削除、ユーザ環境変数を追加、環境変数の削除、環境変数の利用、について紹介しました。
ぜひご自身でコマンドを書いて、理解を深めてください。