【30日間無料体験】AI初心者が無料で基礎知識を学ぶなら「Audible」

PowerShellプロファイルの作成・設定方法【$PROFILEの場所と書き方】

記事には広告が含まれています

PowerShellを使っていると「ターミナルを開くたびに同じコマンドを打ち直している」「環境変数の設定が毎回リセットされる」という場面に遭遇することがあります。

こうした手間を解消してくれるのが PowerShellプロファイル です。プロファイルを設定しておけば、ターミナルを起動するたびに任意のスクリプトを自動実行できます。

本記事では、プロファイルファイルの場所・作成方法・代表的な設定例を順を追って解説します。

PowerShellプロファイルとは

PowerShellプロファイルとは、PowerShellの起動時に自動で読み込まれるスクリプトファイルのことです。macOSやLinuxの .zshrc.bashrc に相当するものと考えると理解しやすいです。

プロファイルを活用することで、以下のような設定を起動時に自動で反映させられます。

  • 環境変数($env:MISE_DATA_DIR など)の設定
  • コマンドのエイリアス(別名)登録
  • 開発ツールのactivate(mise、starshipなど)
  • よく使う関数の定義

PowerShellプロファイルファイルの場所を確認する

プロファイルのパスは環境によって異なります。以下のコマンドで現在の環境におけるプロファイルの正確な場所を確認できます。

PowerShell

$PROFILE

実行すると以下のようなパスが表示されます。

実行結果の例

C:\Users\ユーザー名\Documents\PowerShell\Microsoft.PowerShell_profile.ps1

補足

$PROFILE は「現在のユーザー・現在のホスト」に対応するプロファイルのパスを返します。PowerShellにはスコープ別に複数のプロファイルが存在しますが、通常の用途ではこのパスのファイルを編集すれば問題ありません。

プロファイルファイルが実際に存在するかどうかは、以下のコマンドで確認できます。

PowerShell

Test-Path $PROFILE

True が返ればファイルが存在しています。False の場合はまだ作成されていないため、次のセクションの手順で作成してください。

PowerShellプロファイルファイルを作成する

プロファイルファイルが存在しない場合は、以下のコマンドで作成します。

PowerShell

New-Item -Path $PROFILE -ItemType File -Force

-Force オプションを付けることで、親ディレクトリ(PowerShell フォルダ)が存在しない場合も自動で作成されます。

実行ポリシーのエラーが出る場合

プロファイルを設定しても読み込まれない場合、PowerShellの実行ポリシーが制限されている可能性があります。以下のコマンドで現在のポリシーを確認してください。

Get-ExecutionPolicy

Restricted と表示された場合、スクリプトの実行が禁止されています。ユーザースコープで実行ポリシーを変更するには以下のコマンドを実行してください。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

PowerShellプロファイルを編集する

プロファイルファイルは通常のテキストファイルなので、任意のエディタで編集できます。VS Codeを使っている場合は以下のコマンドで直接開けます。

PowerShell

code $PROFILE

メモ帳で開く場合は以下のコマンドです。

PowerShell

notepad $PROFILE

PowerShellプロファイルの設定例

環境変数を設定する

ターミナル起動時に環境変数を自動で設定したい場合は、以下のように記述します。

Microsoft.PowerShell_profile.ps1

# miseのインストール先を変更する場合
$env:MISE_DATA_DIR = "C:\mise-data"

# Node.jsの環境を指定する場合
$env:NODE_ENV = "development"

開発ツールのactivateを追加する

miseなどの開発ツールはプロファイルでactivateの設定を行います。

Microsoft.PowerShell_profile.ps1

# miseのactivate
(&mise activate pwsh) | Out-String | Invoke-Expression

miseのactivateについて

miseをWindowsで使用する際のactivate設定の詳細については、mise(Windows)のインストールと初期設定を参照してください。

エイリアスを登録する

よく使うコマンドに短縮名を付けたい場合はエイリアスを使います。

Microsoft.PowerShell_profile.ps1

# "ll" でファイル一覧を表示(ls -lに相当)
Set-Alias ll Get-ChildItem

# "which" コマンドを使えるようにする
function which($name) { Get-Command $name | Select-Object -ExpandProperty Definition }

PowerShellプロファイルを即時反映させる

プロファイルを編集した後、変更を反映するにはターミナルを再起動するか、以下のコマンドを実行してください。

PowerShell

. $PROFILE

先頭の .(ドット)はカレントスコープでスクリプトを実行するための演算子です。

PowerShellプロファイルの作成・設定方法まとめ

この記事で解説した内容
  • PowerShellプロファイルはターミナル起動時に自動実行されるスクリプトファイル
  • プロファイルのパスは $PROFILE で確認できる
  • New-Item -Path $PROFILE -ItemType File -Force で作成する
  • 環境変数・エイリアス・開発ツールのactivateをまとめて設定できる
  • 編集後は . $PROFILE で即時反映できる

プロファイルを活用することで、ターミナルを開くたびに手動設定を繰り返す手間がなくなります。miseや他の開発ツールと組み合わせると、開発環境のセットアップが大幅に効率化されます。

参考リンク


参考
about_Profiles – PowerShellMicrosoft Learn