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