【问题标题】:Create a Multidimensional Hash Table Array in Powershell在 Powershell 中创建多维哈希表数组
【发布时间】:2018-01-26 08:46:46
【问题描述】:
我想知道是否有更短的方法可以在 powershell 中创建多维哈希表数组。我已经能够用这样的几行成功地创建它们。
$arr = @{}
$arr["David"] = @{}
$arr["David"]["TSHIRTS"] = @{}
$arr["David"]["TSHIRTS"]["SIZE"] = "M"
也就是说我想知道是否有任何方法可以将其缩短为这样的......
$new_arr["Level1"]["Level2"]["Level3"] = "Test"
如果它尚不存在,它将在哪里创建一个新关卡。谢谢!
【问题讨论】:
标签:
arrays
powershell
multidimensional-array
hashtable
【解决方案1】:
在此处添加@Maximilian 的答案是一个更完整的示例如何使用多维哈希表:
$acls = @{
Ordner1 = @{
lesen = 'torsten', 'timo';
schreiben = 'Matthias', 'Hubert'
};
Ordner2 = @{
schreiben = 'Frank', 'Manfred';
lesen = 'Tim', 'Tom' }
}
添加数据:
$acls.Ordner3=@{}
$acls.Ordner3.lesen='read'
$acls.Ordner3.schreiben='write','full'
访问:
$acls.Ordner2.schreiben
结果:
弗兰克
曼弗雷德
【解决方案2】:
您需要命名/定义子级别,否则解释器不知道它正在使用哪种类型(数组、单节点、对象等)
$arr = @{
David = @{
TSHIRTS = @{
SIZE = 'M'
}
}
}