$ MyInvocation.MyCommand.Path возвращает NULL
У меня есть следующий код в качестве начала более длинного скрипта:
$ScriptPath = Split-Path $MyInvocation.MyCommand.Path
& $ScriptPath\build_functions.ps1
& $ScriptPath\build_builddefs.ps1
Идея состоит в том, чтобы получить путь к выполняемому сценарию и использовать этот путь для вызова некоторых вспомогательных сценариев. Однако когда я пошел тестировать это изолированно, чтобы убедиться, что он может работать (выделив этот блок и выполнив только этот код), я получил следующую ошибку:
Split-Path: Cannot bind argument to parameter 'Path' because it is null.
Интересно, что когда я запускаю весь скрипт, кажется, что эти файлы запускаются отдельно. Есть что-то, что я пропускаю о том, как ISE обрабатывает выбор, а не полный сценарий? Разве это не устанавливает контекст файловой системы при запуске выбора?