Powershell获取哈希表值

时间:2020-08-11 17:23:45

标签: powershell

我已经有了具有以下值的哈希表:

Name                           Value                                                                                                            
----                           -----                                                                                                            
Bayas_palm_stem_A0311.jpg      1                                                                                                                
Bayas_palm_stem_A0312.jpg      2                                                                                                                
Bukit_Bangkong_area.tiff       1                                                                                                                
BY_and_siblings_A0259.jpg      5                                                                                                                
Cassava_camp_A0275.jpg         1                                                                                                                
Children_A0115.jpg             6                                                                                                                
cip_barau_kubak.jpg            1

我怎样才能只获得值大于1的名称和值?

我正在尝试使用此代码,但是我做错了!!!

$RT | Group-Object Name , Value | Where-Object {$RT.Values -gt 1} 

非常感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

使用$RT.getenumerator() | Where-Object {$_.Value -gt 1} 枚举哈希表中的名称/值对:

$hashtable.GetEnumerator()

请注意,如果将结果对分配给变量,则它不再是哈希表-而是单个名称/值对的数组。

要创建一个仅具有过滤名称/值对的新哈希表,请执行以下操作:

$RT.GetEnumerator() |Where-Object {$_.Value -gt 1}

答案 1 :(得分:1)

赞:

docker-compose down
docker-compose build mysql nginx php-fpm
docker-compose up -d mysql nginx php-fpm

答案 2 :(得分:1)

假设您有一个像这样定义的哈希表。

$rt = @{
"Bayas_palm_stem_A0311.jpg " =     1                                                                                                             
"Bayas_palm_stem_A0312.jpg " =     2                                                                                                               
"Bukit_Bangkong_area.tiff  " =     1                                                                                                              
"BY_and_siblings_A0259.jpg " =     5                                                                                                             
"Cassava_camp_A0275.jpg    " =     1                                                                                                            
"Children_A0115.jpg        " =     6
"cip_barau_kubak.jpg       " =     1
}

您可以调用GetEnumerator(),它允许您遍历哈希表。

对成员进行枚举后,正常的PowerShell值比较将起作用。

您可以像这样获得大于1的值:

$rt.GetEnumerator() | ? Value -gt 1

Name                           Value                                                                                            
----                           -----                                                                                            
BY_and_siblings_A0259.jpg      5                                                                                                
Children_A0115.jpg             6                                                                                                
Bayas_palm_stem_A0312.jpg      2