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