コマンドを実行する際には、環境変数「PATH」の適切な設定が必要です。
この記事では、Windows上で環境変数「PATH」を設定する方法について詳しく解説しています。ただし、Powershellのバージョンによって、環境変数の設定方法は異なるため注意が必要です。
「PATH通し」とは?
PATHと環境変数の一種です。 環境変数とは、すべてのプログラムで一緒に使える「みんなで仲良く使ってね~」な変数[1]です。
通常、ファイルを実行する際には「C:\Users\ユーザー名\ファイル.exe
」のようにフルパスを指定する必要がありますが、この手間を省くためにファイル名だけで実行できるようにしたいと考えることがあります。その際に利用されるのが「PATH」です。
ファイル名のみを入力すると、PowershellはPATHに登録されたフォルダを検索し、該当のファイルがあれば、それをフルパスとして認識して実行します。これがPATHの役割です。
PATHに特定のフォルダを登録することを「PATHの設定」または「PATH通し」と呼びます。
例えば、C:\Users\ユーザー名\scripts\hello.ps1
というファイルがあるとします。このファイルは実行されると、「hello world!」と出力します。
PS C:\Users\ユーザー名\script> C:\Users\ユーザー名\script\hello.ps1
hello world !
では、C:\Users\ユーザー名\script
を「PATH通し」したと仮定します。その結果、以下のようにしてファイル名だけで実行できるようになります。なお、ファイル名には拡張子があってもなくても構いません。
PS C:\Users\ユーザー名\script> hello
hello world !
PS C:\Users\ユーザー名\script> hello.ps1
hello world !
WindowsでPATHを通す方法
結論として、「PATH通し」の方法は、設定をProfile.ps1
に書き込むだけです。
ただし、Powershellの種類によってProfile.ps1を配置する場所が異なるため、注意が必要です。
詳細については、以下をご参照ください。
Profile.ps1の書き方
Profile.ps1には、$env:path +='フォルダ'
と記述します。これだけで「PATH通し」が完了します。
# 「PATH通し」
$env:path +=';C:\Users\ユーザー名\script\'
Powershellを再起動すると、設定が反映されます。
Profile.ps1を置く場所
Windows Powershell の場合
Windows Powershell は、現在のWindowsのオペレーティングシステム(OS)に標準搭載されている、拡張可能なコマンドラインインターフェース(CLI)[2]です。
CLIについて詳細を知りたい方は、以下の記事をご覧ください。
Windows Powershell を起動します。
Windows PowerShellでProfile.ps1を有効にするには、「C:\Users\ユーザー名\Documents\WindowsPowerShell
」 に配置してください。「Documents」とは「ドキュメント」フォルダのことです。その中に「WindowsPowerShell」フォルダを新規作成し、Profile.ps1を配置してください。
Powershell 7 の場合
Powershell 7は、最新のPowershellバージョンです。バージョンが 5 系までは Windows PowerShell と呼ばれていますが、 6 系以降は単に PowerShell と呼ばれます[3]。
Powershell 7は標準で搭載されていないため、インストールが必要です。最新版ということもあって、インストールすることをおすすめします。
インストール方法は2つあります。一つはWindows PowerShellからインストールする方法で、以下のコマンドを入力すると自動でインストールされます。
winget install --id Microsoft.Powershell --source winget
もう一つの方法は、リンクからダウンロードする方法です。詳細については、以下をご覧ください。
インストールが完了すると、Powershell 7を起動できるようになります。
PowerShell 7でProfile.ps1を有効にするには、「C:\Users\ユーザー名\Documents\PowerShell
」に配置してください。「Documents」とは「ドキュメント」フォルダのことです。その中に「PowerShell」フォルダを新規作成し、Profile.ps1を配置してください。
現在のPATHの確認方法
現在のPATHに設定されているフォルダを知りたい方は、「$env:path.split(";")
」をPowershellに入力してみてください。
出力結果の一番最後の行に「C:\Users\ユーザー名\script\
」が表示されるはずです。
PS C:\Users\ユーザー名> $env:path.split(";")
︙
(中略)
︙
C:\Users\ユーザー名\script\
まとめ
この記事では、「WindowsでPATHを通す方法」を詳しく解説しました。
PATHを通すとは、「ファイル名だけで実行するために、あらかじめフォルダを登録しておく」ことです。
PATHを通す設定は、「Profile.ps1」に書き込むことで反映されます。ただし、Powershellの種類によってProfile.ps1を配置する場所が異なるため、ご注意ください。