поставьте точки файлы из каталога скриптов в консоли Powershell и ISE? - PullRequest
2 голосов
/ 14 января 2012

У меня есть следующий скрипт в каталоге c:\scripts\.

# . c:\scripts\anotherScript.ps1
function GetScriptRoot { Split-Path $script:MyInvocation.MyCommand.Path }
. "$(GetScriptroot)\anotherScript.ps1"

Однако это вызывает ошибку в ISE. Это способ, который работает как в консоли, так и в ISE? Я стараюсь не использовать полный абсолютный путь.

1 Ответ

2 голосов
/ 14 января 2012

Свойство $ MyInvocation.MyCommand.Path доступно только в работающем скрипте.

Чтобы определить, работаете ли вы в ISE или нет, вы можете проверить переменную $psise:

if ($psise) {
    "Running in the ISE"
} else {
    "Not running in the ISE"
}

Или посмотрите на $host.Name свойство:

PS C:\Users\andy> $host
Name             : Windows PowerShell ISE Host

PS C:\Users\andy> $host
Name             : ConsoleHost
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...