我是PowerShell的新手,所以这可能很容易回答。假设我创建了一个这样的数组:
$array1 = "a", "b", "c"
然后我创建另一个数组:
$array2 = $array1|select-object{$_}
我想要做的是加入$ array2中的所有值,所以我最终得到字符串“a b c”,但在$ array2上使用-join“”只会产生一个空结果。有人可以向我解释我如何解决这个问题吗?
答案 0 :(得分:2)
只需将$array2 = $array1|select-object{$_}
替换为$array2 = $array1 | select-object
或$array2 = $array1
$array1 = "a", "b", "c"
#expected output: a b c
$array1 -join " "
#here it is
$array2 = $array1 | select-object
#expected output: a b c
$array2 -join " "
#here it is
$array2 = $array1
#expected output: a b c
$array2 -join " "
答案 1 :(得分:1)
在PowerShell中执行所需操作的简便方法是
"$array1"
或
'' + $array1
如果$OFS
为$OFS
,则将使用$null
或空格连接数组元素。
但正如其他人所说,你的Select-Object
电话是错误的。 Select-Object采用属性名称,而不是脚本块。在这种情况下,你可能想要ForEach-Object
吗?
答案 2 :(得分:0)
修改
$array2 = $array1|select-object{$_}
在
$array2 = $array1
然后
$array2 -join ' '
作品!