我是 PowerShell 的新手,所以这可能很容易回答。假设我像这样创建一个数组:
$array1 = "a", "b", "c"
然后我创建另一个数组:
$array2 = $array1|select-object{$_}
我想做的是加入 $array2 中的所有值,所以我最终得到字符串“ab c”,但是在 $array2 上使用 -join “” 只会产生一个空结果。有人可以向我解释如何解决这个问题吗?
我是 PowerShell 的新手,所以这可能很容易回答。假设我像这样创建一个数组:
$array1 = "a", "b", "c"
然后我创建另一个数组:
$array2 = $array1|select-object{$_}
我想做的是加入 $array2 中的所有值,所以我最终得到字符串“ab c”,但是在 $array2 上使用 -join “” 只会产生一个空结果。有人可以向我解释如何解决这个问题吗?
只需替换$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 " "
在 PowerShell 中执行所需操作的一种简单方法是
"$array1"
或者
'' + $array1
如果is ,两者都将使用$OFS
or 空格连接数组元素。$OFS
$null
但正如其他人所指出的,你的Select-Object
电话是错误的。Select-Object 采用属性名称,而不是脚本块。也许你想ForEach-Object
在那种情况下?
调整
$array2 = $array1|select-object{$_}
在
$array2 = $array1
然后
$array2 -join ' '
作品!