Всякий раз, когда мне нужно обратиться к общему модулю или сценарию, я предпочитаю использовать пути относительно текущего файла сценария, поэтому мой сценарий всегда может найти другие сценарии в библиотеке.
Итак, каков наилучший стандартный способ определения каталога текущего скрипта? В настоящее время я делаю:
$MyDir = [System.IO.Path]::GetDirectoryName($myInvocation.MyCommand.Definition)
Я знаю, что в модулях (.psm1) вы можете использовать $PSScriptRoot
для получения этой информации, но она не устанавливается в обычных скриптах (т.е. файлах .ps1).
Какой канонический способ получить текущее местоположение файла сценария PowerShell?