我有一个键/值对哈希表的哈希表(来自.ini文件)。它看起来像这样:
Name Value
---- -----
global {}
Variables {event_log, software_repo}
Copy Files {files.mssql.source, files.utils.source, files.utils.destination, fil...
如何在一个哈希表中输出所有键/值对,而不是这样做?
$ini.global; $ini.variables; $ini."Copy Files"
答案 0 :(得分:2)
鉴于$hh
是哈希表的哈希表,您可以使用循环:
foreach ($key in $hh.keys)
{
Write-Host $hh[$key]
}
答案 1 :(得分: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
关键值,但你明白了。