使用
Get-ChildItem | Get-Member
我可以看到对象的方法和属性。但是,如何才能看到不同的可能值,例如:属性?我可以用
Get-ChildItem | Where-Object {$_.Attributes -ne "Directory"}
提取不是目录对象的对象,但是如何查看.Attributes的其他替代方法?
答案 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