我想知道是否有更短的方法在PowerShell中创建多维数据哈希表数组。我已经能够用几行来成功创建它们。
$arr = @{}
$arr["David"] = @{}
$arr["David"]["TSHIRTS"] = @{}
$arr["David"]["TSHIRTS"]["SIZE"] = "M"
那就是说我想知道是否有办法将此缩短为这样......
$new_arr["Level1"]["Level2"]["Level3"] = "Test"
如果它尚未存在,它将创建一个新的水平。谢谢!
答案 0 :(得分:9)
您需要命名/定义子级别,否则解释器不知道它使用的是哪种类型(数组,单个节点,对象等)。
$arr = @{
David = @{
TSHIRTS = @{
SIZE = 'M'
}
}
}
答案 1 :(得分:0)
在@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
结果:
坦率
曼弗雷德