Получение имени скрипта в Powershell - PullRequest
7 голосов
/ 01 февраля 2012

Есть ли другой способ, кроме $ MyInvocation.InvocationName в powershell, чтобы получить имя сценария? Поскольку мне нужно превратить мой скрипт в исполняемый файл, и в этом случае он не работает на этом исполняемом.

Ответы [ 2 ]

11 голосов
/ 01 февраля 2012

Я предполагаю, что поскольку вы преобразуете сценарий powershell в исполняемый файл, который находится после расположения исполняемого файла.Вы можете получить это так:

[Environment]::GetCommandLineArgs()[0]
1 голос
/ 30 января 2016

Если вы хотите что-то, что работает внутри и за пределами ISE, вы можете использовать

$MyInvocation.InvocationName

Поскольку могут быть возвращены полные пути и. \ YourScript.ps1, вы можете проанализировать имя с помощью:

[Regex]::Match( $MyInvocation.InvocationName, '[^\\]+\Z', [System.Text.RegularExpressions.RegexOptions]::IgnoreCase -bor [System.Text.RegularExpressions.RegexOptions]::SingleLine ).Value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...