我正在创建一个具有相同内容的数组:
$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]
:
我需要的是删除所有重复项,即使只剩下一个元素,它也应该保留为数组。
答案 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 >
中,将结果视为数组:
@(...)