我是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 []中。预期的参数是。实际参数是
答案 0 :(得分:2)
您必须省略调用,
方法的逗号(BuildReport
):
BuildReport $MyInvocation.MyCommand 1 2
否则,您将传递数组作为第一个参数,而$param1
和$param2
将不会被填充。
输出将是:
You are in SendName. Parameter expected is 1. Actual parameter is
2