2
$source = @{}
gci | %{$source.Add($_.FullName,$_)}
$source.getEnumerator() | %{($_.value).PsIsContainer}

どこにも行きません。しかし

gci | % {$_.PsIsContainer}

私は使用することに頼っていますか

$source.getEnumerator() | %{
if ((($_.Value).Attributes).toString() -eq "Directory")
   {
   ...
   }

}

ちょっと不格好に見える

PsIsContainer が HashTable 値で機能しないのはなぜですか?

4

1 に答える 1

3

ただし、アイテムをテーブルに追加するより直接的な方法を使用すると、うまくいきます。

PS> $source =@{}
PS> gci|%{$source[$_.FullName] = $_}
PS> $source.GetEnumerator() | %{$_.Value.PSIsContainer}
True
False
False
False
False
False
False
True
False
...

これはAdd、ハッシュテーブルに物を入れるメソッドを使用した結果のようです。

于 2012-08-22T09:00:57.240 に答える