PowerShellで実行中のスクリプトのパスを取得する方法

powershell コンピュータ
powershell

実行中の.ps1スクリプトファイルのパスを知りたい場面があり調べてみました。

方法1

echo $MyInvocation.MyCommand.Path

.ps1スクリプト内で実行のこと。シェルで実行しても何も表示されません。
echoはWrite-Outputのエイリアスでパイプラインに書き込むコマンドレットですが、何も指定しないとシェルに結果が表示されます。

実行結果

C:\Users\karet\Documents\PowerShell\Test.ps1

方法2

echo $PSCommandPath

実行結果

C:\Users\karet\Documents\PowerShell\Test.ps1

方法1と同じ結果になりました。
方法1、方法2いずれもPowerShell7で実行しています。

コメント