在運(yùn)行腳本的時(shí)候,有時(shí)候需要通過腳本文件所在位置的相對(duì)路徑來(lái)做一些事,比如執(zhí)行另一個(gè)腳本。以前在CMD時(shí)代,可以通過%~dp0來(lái)獲取腳本所在的文件夾,那在PowerShell中要怎么做呢?
很簡(jiǎn)單,通過內(nèi)置的$MyInvocation變量:
$x = $MyInvocation.MyCommand.Definition
此時(shí)$x的值是當(dāng)前運(yùn)行中的腳本的絕對(duì)路徑,再用Split-Path取它的父路徑就可以了:
$x = Split-Path -Parent $MyInvocation.MyCommand.Definition
這樣$x的值就是腳本所在的文件夾了……