59

我运行一个 PowerShell 脚本。如何获取我运行的此脚本的目录路径?

这个怎么做?

4

1 回答 1

162

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
于 2013-07-04T03:52:29.543 回答