【问题标题】: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'
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2014-09-18
      • 2021-02-15
      • 2021-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-22
      相关资源
      最近更新 更多