获取当前脚本文件

获取当前脚本文件

在 PS 脚本中,如何检索代表或指向脚本文件的对象?类似 get-currentscript。

我真正想要做的是检索脚本文件的创建和/或修改时间。据推测这可以从脚本文件对象中检索。当然,我也可以使用愚蠢的旧文件规范来获取当前脚本文件。

答案1

查看此答案堆栈溢出

虽然当前答案在大多数情况下是正确的,但在某些情况下它不会给你正确的答案。如果你在脚本中使用函数,那么:

$MyInvocation.MyCommand.Name

返回函数的名称而不是脚本的名称。

function test {
    $MyInvocation.MyCommand.Name
}

无论脚本名称是什么,都会返回“test”。获取脚本名称的正确命令始终是

$MyInvocation.ScriptName

这将返回正在执行的脚本的完整路径。如果只需要脚本文件名,则使用以下命令:

Split-Path $MyInvocation.PSCommandPath -Leaf

相关内容