在 Powershell 中创建多维哈希表数组
Posted
技术标签:
【中文标题】在 Powershell 中创建多维哈希表数组【英文标题】:Create a Multidimensional Hash Table Array in 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"
如果它尚不存在,它将在哪里创建一个新关卡。谢谢!
【问题讨论】:
你在 autovivification 之后,不,PowerShell 没有它。 【参考方案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'
【讨论】:
以上是关于在 Powershell 中创建多维哈希表数组的主要内容,如果未能解决你的问题,请参考以下文章
powershell 使用PowerShell在SDL Web中创建管理员用户。使用Tridion CoreService模块(https://github.com/pkjaer/tridion-po
powershell 使用PowerShell在SDL Web中创建管理员用户。使用Tridion CoreService模块(https://github.com/pkjaer/tridion-po