環境変数のPATHをPowerShell内でのみ適用される設定にする。

コンピュータ
PowerShellのあれこれ

システムやユーザー環境変数ではなくPowerShellの起動時に一時的な環境変数としてPATHを切ってあげようという話です。

実行環境

Windows10
PowerShell version 5.1

メリット

環境変数PATHの設定を失敗しても影響がPowerShell.exe内に限定される。

設定方法

powershell.exeを実行時自動的にMicrosoft.PowerShell_profile.ps1を実行しますで、そのスクリプトでPATHを切ってあげます。

PowerShell.exeで以下のコマンドを実行

notepad $profile

Microsoft.PowerShell_profile.ps1が開かれますのでこちらにPATHを設定をします。
ちなみにPowerShell_ISE.exeはMicrosoft.PowerShellISE_profile.ps1と別ファイルですので、必要があればPowerShell_ISE.exeでも実行します。

環境変数の設定内容

$env:Path = $env:Path + ";C:\Program Files\kotlinc\bin"
$env:Path = $env:Path + ";C:\Program Files\jdk-15\bin"

このような感じでPathを追加していきます。

保存すると終了です。

次回PowerShell.exe(PowerShell_ISE.exe)を起動時から有効になりますのでPoweShellを再起動してください。

PSDriveにレジストリのHKCRドライブを登録

PowerShellではレジストリをファイルシステムのドライブと同様にアクセスすることが出来ます。

例えば特定の拡張子の有無を確認する場合以下のコマンドを実行します。

Test-Path 'HKCR:\.html'
# true

ただ何故かHKCRやHKUがドライブとして登録されていないので、登録する必要があります。
そこで$profileに以下のように記述しておきます。

if (!(Test-Path HKCR:)) {
    $null = New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT
    $null = New-PSDrive -Name HKU -PSProvider Registry -Root HKEY_USERS
}

コメント