我正在使用以下命令开始 PowerShell 作业:
start-job -filename my_script.ps1 -argumentlist ($v1, $v2, $v3)
然而,这个脚本需要知道它的位置,因为它会根据相对于它的位置运行其他命令。当直接从提示符运行时,这些结构可以工作:
join-path (split-path (& { $myinvocation.scriptname })) "relative path\filename"
join-path (split-path $myinvocation.mycommand.definition) "relative path\filename"
然而,当作为第一个示例中的工作开始时,这根本不起作用。当我开始工作时,如何确定我从哪里开始?