如果数组中只有一个元素,则数组的计数似乎不一致

时间:2014-05-04 14:48:11

标签: arrays powershell

我正在创建一个具有相同内容的数组:

$disk = @("C:","C:","C:")

当我删除所有重复项并显示数组中有多少计数时,它没有显示任何内容,只有一个元素。

$disk = $disk | select -uniq

PS D:\powershell> write-output $disk
C:

PS D:\powershell> $disk.count
PS D:\powershell>

看起来它不再是一个数组,而是一个字符串,如下所示:

PS D:\powershell> write-output $disk[0]
C
PS D:\powershell> write-output $disk[1]
:

我需要的是删除所有重复项,即使只剩下一个元素,它也应该保留为数组。

1 个答案:

答案 0 :(得分:3)

是的,{J}成为字符串是正确的:

$disk

要解决此问题,请告知PowerShell将结果封装在PS > $disk = @("C:","C:","C:") PS > $disk = $disk | select -uniq PS > $disk.GetType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True String System.Object PS > $disk.Length 2 PS > 中,将结果视为数组:

@(...)