Powershellスクリプトファイル自身の情報取得
Powershellスクリプトを書いていて,割と忘れることがあるので改めてメモ
スクリプトファイル自身の情報を得る.
もちろん,これらはスクリプトファイル内で使わないとダメですよ?w
ちなみに,一度も保存していないスクリプトファイル内で使用すると,空文字列が返ってきます.
これらのうち,$MyInvocation.MyCommand
を使用する方法は,Powershell v3.0以前でも使用できるのがメリットとなります.
会社とかでよくある話ですが,Windows 7(SP1)の初期状態のまま,Powershellをバージョンアップしてくれなかった(v2.0)‥なんて話は珍しくないですからね.ウチもそれですが‥.
スクリプトファイル自身のパスを取得する.
$PSCommandPath
で取得できます.もしくは,
$Script:PSCommandPath
$MyInvocation.MyCommand.Path
スクリプトファイル自身の置かれたディレクトリを取得する.
$PSScriptRoot
で取得できます.もしくは,
$Script:PSScriptRoot
Split-Path $MyInvocation.MyCommand.Path -Parent
スクリプトファイル名を得る.
次のいずれかの方法を使って取得できます.
Split-Path $PSCommandPath -Leaf
Split-Path $Script:PSCommandPath -Leaf
$MyInvocation.MyCommand.Name