You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PowerShell读取含哈希表数组的文件并提取县区的城市与州信息?

解决PowerShell读取哈希表数组并遍历输出的问题

问题描述

你有一个包含哈希表数组定义的PowerShell文件,内容如下:

[hashtable[]]$Counties = 
@(
@{"County1" = @{"City"="New York"
                "State"="NY"
                }
},
@{"County2" = @{"City"="Miami"
                "State"="FL"
                }
},
@{"County3" = @{"City"="Orlando"
                "State"="FL"
                }
}
)

需要读取该文件,遍历每个县(County1、County2等),提取对应的城市和州信息,输出格式如下:

Name    City     State
County1 New York NY
County2 Miami    FL
County3 Orlando  FL

解决方案

可以通过以下步骤实现:

  1. 加载文件变量:使用PowerShell的点源操作(.)读取并执行目标文件,将$Counties变量加载到当前会话。
  2. 遍历哈希表数组:逐个处理数组中的每个哈希表,提取县名、城市和州信息。
  3. 构造结构化输出:将提取的信息封装为自定义对象,再通过Format-Table输出符合要求的格式。

完整脚本示例

假设目标文件名为CountiesData.ps1,脚本代码如下:

# 加载目标文件中的变量
. .\CountiesData.ps1

# 遍历并提取信息,生成格式化输出
$Counties | ForEach-Object {
    $countyName = $_.Keys[0]
    $city = $_.$countyName.City
    $state = $_.$countyName.State
    [PSCustomObject]@{
        Name  = $countyName
        City  = $city
        State = $state
    }
} | Format-Table -AutoSize

输出效果

执行上述脚本后,会输出符合预期的格式化内容:

Name    City     State
----    ----     -----
County1 New York NY
County2 Miami    FL
County3 Orlando  FL

内容的提问来源于stack exchange,提问作者SqlData

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 21:29:55