我运行一个 PowerShell 脚本。如何获取我运行的此脚本的目录路径?
这个怎么做?
PowerShell 3 具有$PSScriptRoot
自动变量:
包含从中运行脚本的目录。
在 Windows PowerShell 2.0 中,此变量仅在脚本模块 (.psm1) 中有效。从 Windows PowerShell 3.0 开始,它在所有脚本中都有效。
不要被糟糕的措辞所迷惑。PSScriptRoot
是当前文件的目录。
在 PowerShell 2 中,您可以计算$PSScriptRoot
自己的价值:
# PowerShell v2
$PSScriptRoot = Split-Path -Parent -Path $MyInvocation.MyCommand.Definition