Как увидеть «альтернативы» для свойств в PowerShell? - PullRequest
1 голос
/ 03 октября 2011

Использование

Get-ChildItem | Get-Member

Я вижу методы и свойства объекта. Но как я могу увидеть различные возможные значения, например, свойства? Я могу использовать

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

для извлечения объектов, которые не являются объектами каталогов, но как я могу увидеть другие альтернативы для .Attributes?

1 Ответ

3 голосов
/ 03 октября 2011

Свойство поставщика 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...