実行中の.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で実行しています。
コメント