3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PowerShellで環境変数を取り扱う(現在のコンソール)

Last updated at Posted at 2023-07-11

PowerShellで環境変数を取り扱う場合のメモ

ドキュメント

about_Environment_Variables

公式ドキュメントに環境変数についての資料が用意されており、ここを確認すればOK。

環境変数を参照する

環境変数の構文

PowerShellで環境変数にアクセスするには下記の記述でアクセスできます。

$Env:<variable-name>

下記は環境変数PATHを表示してみた例

image.png

ちなみに環境変数PATHはセミコロン(;)で区切られて連続しているので見づらいかと思うので、
下記のようにセミコロンでsplitして表示すると人間には見やすいと思います。

$env:PATH -split ";"

image.png

環境変数を作成・更新する(現在のコンソール)

$Env:<variable-name> = "<new-value>"

参照する際は$Env:<variable-name>ででアクセスできましたが、= "<new-value>"で新しい環境変数を作成できます

下記は環境変数Fooに値Barを設定して生成し、値HelloWorldに更新したケース

$Env:Foo = "Bar"

$Env:Foo

$Env:Foo = "HelloWorld"

$Env:Foo

image.png

環境変数を削除する(現在のコンソール)

環境変数は空の文字列を設定できないため、$null または 空の文字列設定すると環境変数は削除されます。

# 空文字を設定するパターン
$Env:<variable-name> = ""

# $nullを設定するパターン
$Env:<variable-name> = $null

下記は環境変数Fooを生成して、Get-Memberコマンドレットで環境変数が生成されている事を確認した後に、空文字を環境変数Fooに渡して環境変数を削除。

その状態で、Get-Memberコマンドレットを実行して、環境変数Fooが削除された事を確認している。
(環境変数Fooが削除されているので、Get-Memberコマンドレットで存在しないオブジェクトを指定した状態になってエラーになっている)

image.png

Itemコマンドレットを使用しても環境変数は更新できる(現在のコンソール)

環境プロバイダーと Item コマンドレットの使用

$Env:<variable-name>で環境変数の操作をしてきましたが。

下記のようにItemコマンドレットを利用して、それぞれ環境変数を操作できます。

  • Get-Item で環境変数へアクセス
  • New-Item , Set-Item で環境変数の生成
  • Remove-Item で環境変数の削除
New-Item -Path Env:\Foo -Value 'Bar'

Get-Item -Path Env:\Foo

Get-Item -Path Env:\Foo | Get-Member -MemberType Properties

Remove-Item -Path Env:\Foo

Get-Item -Path Env:\Foo | Get-Member -MemberType Properties

image.png

環境変数を永続的に設定する

ここまでで説明した環境変数の設定について、全部、現在のコンソールと記載していましたが。

ここに記載している設定方法では、現在のコンソールに対して環境変数を追加、変更、削除できる方法となりあす。

このため設定変更したコンソールを閉じた場合、設定が消えてしまいます。

PowerShellで永続的な環境変数設定を行いたい場合は下記のいずれかで設定を行います。

  • 起動プロファイル($Profile)で環境変数を起動時に毎回設定するようにする。
  • SetEnvironmentVariable メソッドを使用して永続的な設定を行う

なおこちらの方法については、別記事にて説明します。

総評

PowerShellで環境変数を扱う際は、Envといったキーワードを知っていれば特に戸惑う事もないかと思います。

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?