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