另外在PS6 foreach($ i in((1,2))){Write-Host $ i}返回2个字符串代替1个数组

时间:2018-01-18 13:49:22

标签: powershell

当有2个元素时

foreach ( $i in ((1,2),(3,4)) ) {Write-Host $i}

结果:

1 2
3 4

没关系。

当有1个元素时

foreach ( $i in ((1,2)) ) {Write-Host $i}

结果:

1
2

这太荒谬了。它应该导致:

1 2

我无法找到解决方法。你呢?

2 个答案:

答案 0 :(得分:0)

不记得确切原因,但这有效

foreach ( $i in (,(1,2)) ) {Write-Host $i}

答案 1 :(得分:0)

Write-host cmdlet接受输入并将写入命令发送到主机控制台。这总是会导致每个条目换行。

我们可以在输入对象上调用-join并绕过foreach,就像这样。

想象一个数组,从1到4. 1..4

我们可以添加-join并提供加入它们的字符,我们只需将它们与空格连接即可。

(1..4) -join ' '

如果这没有帮助,请告诉我,我会确保为您找到合适的解决方案。