PowerShell中创建硬编码嵌套哈希表及添加元素方法
PowerShell哈希表操作指南
现有哈希表
你的初始哈希表定义是正确的:
[hashtable]$CompItem = @{ 'ComputerName' = 'Microsoft Dell X' 'ComputerDetails' = @{ 'motherboard' = 'MSI' 'password' = "12345" 'os' = "Windows" } }
具体操作方法
1. 给外层哈希表添加新条目
有两种常用方式:
- 直接赋值(键不存在则自动添加,存在则覆盖):
# 用点语法添加新键"Owner" $CompItem.Owner = "John Doe" # 或用索引语法 $CompItem['Owner'] = "John Doe"
- 使用Add()方法(键已存在时会报错,适合需确保键唯一的场景):
$CompItem.Add("Owner", "John Doe")
2. 给内层嵌套的ComputerDetails哈希表添加新条目
同样有两种有效方式:
- 直接赋值:
# 给内层哈希表添加"hdd"键 $CompItem.ComputerDetails.hdd = "512GB SSD" # 或用索引语法 $CompItem['ComputerDetails']['hdd'] = "512GB SSD"
- 使用Add()方法:
$CompItem.ComputerDetails.Add("hdd", "512GB SSD")
注意:你之前写的示例代码存在错误,
$CompItem += { ... }的写法不适用哈希表元素添加,且$ComputerDetails不是有效变量,需用字符串键名或点语法访问内层哈希表。
3. 给外层哈希表添加另一个哈希表作为新条目
直接将新哈希表赋值给新键即可:
# 添加"NetworkInfo"键,值为新哈希表 $CompItem.NetworkInfo = @{ 'IPAddress' = "192.168.1.100" 'Gateway' = "192.168.1.1" } # 或用Add()方法 $CompItem.Add("NetworkInfo", @{ 'IPAddress' = "192.168.1.100" 'Gateway' = "192.168.1.1" })
内容的提问来源于stack exchange,提问作者Ichigo Kurosaki
相关产品推荐
相关产品推荐

