如何在PowerShell中查看属性的“替代方案”?

时间:2011-10-03 09:43:42

标签: powershell powershell-v2.0

使用

Get-ChildItem | Get-Member

我可以看到对象的方法和属性。但是,如何才能看到不同的可能值,例如:属性?我可以用

Get-ChildItem | Where-Object {$_.Attributes -ne "Directory"}

提取不是目录对象的对象,但是如何查看.Attributes的其他替代方法?

1 个答案:

答案 0 :(得分:3)

提供程序属性PSIsContainer对于文件夹为true而对于文件为false,因此您只能使用以下某个文件获取文件:

Get-ChildItem | Where-Object {$_.PSIsContainer -ne $true}

Get-ChildItem | Where-Object {!$_.PSIsContainer}

Get-ChildItem | Where-Object {-not $_.PSIsContainer}

对于Attributes属性,Get-Member的输出显示其类型名称(System.IO.FileAttributes),它是一个Enum对象:

PS> dir | gm attr*


   TypeName: System.IO.DirectoryInfo

Name       MemberType Definition
----       ---------- ----------
Attributes Property   System.IO.FileAttributes Attributes {get;set;}

您可以通过以下方式获取其可能的值:

PS> [enum]::GetNames('System.IO.FileAttributes')
ReadOnly
Hidden
System
Directory
Archive
Device
Normal
Temporary
SparseFile
ReparsePoint
Compressed
Offline
NotContentIndexed
Encrypted