1. ホーム
  2. スクリプト・コラム
  3. パワーシェル

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

2022-02-04 15:39:29

スクリプトを実行する際、他のスクリプトを実行するなど、スクリプトファイルの位置の相対パスで何かを行う必要がある場合があります。昔のCMDでは、%~dp0を使ってスクリプトのあるフォルダを取得できましたが、PowerShellではどうするのでしょうか?

非常に単純に、組み込みの $MyInvocation 変数を使用します。

コピーコード コードは以下の通りです。

$x = $MyInvocation.MyCommand.Definition

この時点で$xの値は現在実行中のスクリプトの絶対パスとなり、Split-Pathはその親パスを取得して終了です。

コピーコード コードは以下の通りです。

$x = Split-Path -Parent $MyInvocation.MyCommand.Definition

この方法では、$xの値は、スクリプトが置かれているフォルダになります.......