次のコマンドのようなもので 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"
ただし、最初の例のようにジョブとして開始した場合、これはまったく機能しません。仕事として始めたとき、どこから走っているかをどのように判断できますか?