1

これは、ハッシュのハッシュを初期化して入力するための私のpowershellコードです

$thash = @{};
$thash.add("10.192.200.35",@{OS="XP";BIT="32"})
$thash.add("10.192.200.36",@{OS="XP";BIT="64"})
$thash.add("10.192.200.37",@{OS="XP";BIT="32"})

このようにハッシュのハッシュ内の要素を反復してアクセスしようとしています

foreach($index in $thash)
{
   echo $thash[$index]["BIT"];
   echo $thash[$index]["OS"]
}

しかし、私はエラーが発生しています

Cannot index into a null array.
At line:
    +        echo $thash[$index][ <<<< "BIT"];
    + CategoryInfo          : InvalidOperation: (BIT:String) [], RuntimeException
    + FullyQualifiedErrorId : NullArray

ハッシュのハッシュ内の基になるキーにアクセスするにはどうすればよいですか?

4

1 に答える 1

1

少しいじる必要がありましたが、必要なものは次のとおりです。

$thash = @{};
$thash.add("10.192.200.35",@{OS="XP";BIT="32"})
$thash.add("10.192.200.36",@{OS="XP";BIT="64"})
$thash.add("10.192.200.37",@{OS="XP";BIT="32"})

foreach ($key in $thash.Keys)
{
    $key
    $thash[$key]["OS"]
    $thash[$key]["BIT"]
}
于 2012-08-22T08:00:58.780 に答える