2

我是 PowerShell 的新手,所以这可能很容易回答。假设我像这样创建一个数组:

$array1 = "a", "b", "c"

然后我创建另一个数组:

$array2 = $array1|select-object{$_}

我想做的是加入 $array2 中的所有值,所以我最终得到字符串“ab c”,但是在 $array2 上使用 -join “” 只会产生一个空结果。有人可以向我解释如何解决这个问题吗?

4

3 回答 3

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 " "
于 2012-07-20T08:27:56.167 回答
1

在 PowerShell 中执行所需操作的一种简单方法是

"$array1"

或者

'' + $array1

如果is ,两者都将使用$OFSor 空格连接数组元素。$OFS$null

但正如其他人所指出的,你的Select-Object电话是错误的。Select-Object 采用属性名称,而不是脚本块。也许你想ForEach-Object在那种情况下?

于 2012-07-20T08:29:15.333 回答
0

调整

$array2 = $array1|select-object{$_}

$array2 = $array1

然后

$array2 -join ' '

作品!

于 2012-07-20T08:24:30.457 回答