Powershell 文件的哈希表不会对值生成PsIsContainer测试
我哪儿也去不了;但是Powershell 文件的哈希表不会对值生成PsIsContainer测试,powershell,Powershell,我哪儿也去不了;但是 $source = @{} gci | %{$source.Add($_.FullName,$_)} $source.getEnumerator() | %{($_.value).PsIsContainer} 做 我求助于使用 gci | % {$_.PsIsContainer} } 看起来有点笨重 为什么PsIsContainer对哈希表值不起作用?当我使用更直接的方法向表中添加项时,它确实对我起作用,不过: $source.getEnumerator() | %{
$source = @{}
gci | %{$source.Add($_.FullName,$_)}
$source.getEnumerator() | %{($_.value).PsIsContainer}
做
我求助于使用
gci | % {$_.PsIsContainer}
}
看起来有点笨重
为什么PsIsContainer对哈希表值不起作用?当我使用更直接的方法向表中添加项时,它确实对我起作用,不过:
$source.getEnumerator() | %{
if ((($_.Value).Attributes).toString() -eq "Directory")
{
...
}
这似乎是使用
Add
方法将内容放入哈希表的产物。Wow,我惊讶地发现您完全正确。这是一个PSv2错误,两种方法都适用于PSv3。
PS> $source =@{}
PS> gci|%{$source[$_.FullName] = $_}
PS> $source.GetEnumerator() | %{$_.Value.PSIsContainer}
True
False
False
False
False
False
False
True
False
...