Параметры командной строки Powershell не заполняются - PullRequest
0 голосов
/ 02 июля 2019

Я не могу получить параметр командной строки, указанный при вызове сценария Powershell для фактического заполнения переменных параметра в сценарии.

Я запускаю простой скрипт Powershell и передаю параметр командной строки. Все, что я хочу сделать, это отобразить параметр. Но этот параметр не заполняется.

Я пробовал несколько вариантов, которые я нашел в Интернете, некоторые с использованием аргументов [0], но, похоже, я не могу их получить. Это должно быть просто! Чего мне не хватает?

Вот скрипт .ps1, который я запускаю, который называется MyScript1.ps1:

param(
[String]$p1
)
Write-Host "Param p1 = <$p1>"

и я называю это так из командной строки:

H:\> MyScript.ps1 -p1 myvalue

Я ожидаю, что это покажет это:

Param p1 =

но это показывает это:

Param p1 = <>

Что я делаю не так?

1 Ответ

0 голосов
/ 03 июля 2019

Я сработал, благодаря комментарию JosejZ.

Когда я вызываю свой скрипт через командную строку Windows, например:

C:\>MyScript.ps1 -p1 myvalue

, тогда p1 не заполняется.Однако, если я вызову скрипт через Powershell следующим образом:

C:\>powershell -file ./MyScript.ps1 -p1 myvalue

, тогда p1 заполнится , и я получу ожидаемый результат.

Я не понял, чтовызов сценария из командной строки Windows приводит к другому поведению, чем при вызове сценария из командной строки Powershell.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...