PowerShell: пропущенные параметры не в формате String - PullRequest
0 голосов
/ 30 мая 2018

Я новичок в PowerShell и застрял на чем-то очень простом.Я пытаюсь создать переменную, которая использует заполнители ({0}{1}...), используя формат строки (-f).Переменные-заполнители передаются в качестве параметров функции, которая создает / форматирует строку.К сожалению, заполнители остаются пустыми.

Вот мой код:

function SendName(){
  BuildReport $MyInvocation.MyCommand, 1, 2
}

Function BuildReport($functionName, $param1, $param2){    
    $report="You are in {0}. Parameter expected is {1}. Actual parameter is {2}" -f $functionName, $param1, $param2
    write-host $report
}

SendName

Вывод, который я получаю:

Вы находитесь в System.Object [],Ожидаемый параметрФактический параметр

1 Ответ

0 голосов
/ 30 мая 2018

Вы должны опустить запятую (,), когда вы вызываете метод BuildReport:

BuildReport $MyInvocation.MyCommand 1 2

В противном случае вы передадите массив в качестве первого параметра и $param1 и $param2 не будут заполнены.

Вывод будет:

You are in SendName. Parameter expected is 1. Actual parameter is 
2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...