2

キーと値のペアのハッシュテーブルのハッシュテーブルがあります(.iniファイルから)。次のようになります。

Name                           Value                                                                   
----                           -----                                                                   
global                         {}                                                                      
Variables                      {event_log, software_repo}                                               
Copy Files                     {files.mssql.source, files.utils.source, files.utils.destination, fil...

これを行う代わりに、すべてのキーと値のペアを1つのハッシュテーブルに出力するにはどうすればよいですか?

$ini.global; $ini.variables; $ini."Copy Files"
4

2 に答える 2

2

$hhあなたがハッシュテーブルのハッシュテーブルであるとすれば、ループを使用できます:

foreach ($key in $hh.keys)
{
  Write-Host $hh[$key]
}
于 2012-06-07T16:58:17.783 に答える
2

ハッシュを介して再帰する関数を簡単に作成できます。

$hashOfHash = @{
    "outerhash" = @{
        "inner" = "value1"
        "innerHash" = @{
            "innermost" = "value2"
        }
    }
    "outer" = "value3"
}

function Recurse-Hash($hash){
    $hash.keys | %{
        if($hash[$_] -is [HashTable]){ Recurse-Hash $hash[$_]  }
        else{
            write-host "$_ : $($hash[$_])"
        }
    }
}

Recurse-Hash $hashOfHash

上記はwrite-host重要な値を示しているだけですが、アイデアはわかります。

于 2012-06-07T17:32:03.153 に答える