使用括号调用函数时,Powershell中的参数合并

时间:2017-09-18 09:44:44

标签: powershell

我正在尝试将两个参数传递给PowerShell中的函数,我发现了奇怪的结果。当我将参数传递给函数并将其输出为组合字符串时,所有参数都显示在第一个参数的位置。

继承我的代码:

$s = "D:\"
$o = "I:\"

function a($source, $output){
    Write-Output $source
    Write-Output $output
    Write-Output "exe $source --parameter $output"
}


Write-Output $s
Write-Output $o
Write-Output "exe $s --parameter $o"

a($s, $o)

输出:

D:\
I:\
exe D:\ --parameter I:\
D:\
I:\
exe D:\ I:\ --parameter
  

注意“I:\”位于不同的地方

我想调用该函数并获得此输出:

D:\
I:\
exe D:\ --parameter I:\

任何人都可以帮我解决如何避免这种情况吗?

1 个答案:

答案 0 :(得分:1)

我刚刚得出结论,如果我在没有括号和逗号的情况下调用我的函数,它就会按照我想要的方式工作。

a $s $o

输出:

D:\
I:\
exe D:\ --parameter I:\