在 PS 脚本中,如何检索代表或指向脚本文件的对象?类似 get-currentscript。
我真正想要做的是检索脚本文件的创建和/或修改时间。据推测这可以从脚本文件对象中检索。当然,我也可以使用愚蠢的旧文件规范来获取当前脚本文件。
答案1
查看此答案堆栈溢出:
虽然当前答案在大多数情况下是正确的,但在某些情况下它不会给你正确的答案。如果你在脚本中使用函数,那么:
$MyInvocation.MyCommand.Name
返回函数的名称而不是脚本的名称。
function test {
$MyInvocation.MyCommand.Name
}
无论脚本名称是什么,都会返回“test”。获取脚本名称的正确命令始终是
$MyInvocation.ScriptName
这将返回正在执行的脚本的完整路径。如果只需要脚本文件名,则使用以下命令:
Split-Path $MyInvocation.PSCommandPath -Leaf