it-swarm.xyz

иметь только файлы возврата Powershell get-childitem

Я хотел бы использовать get-childitem рекурсивно, но только чтобы он возвращал файлы, а не каталоги. Лучшее решение, которое у меня есть, просто не кажется естественным:

gci . *.* -rec | where { $_.GetType().Name -eq "FileInfo" }
74
Frank Schwieterman

Попробуй это:

gci . *.* -rec | where { ! $_.PSIsContainer }
72
Andy

В Powershell 3.0 это проще,

gci -Directory #List only directories
gci -File #List only files

Это еще короче,

gci -ad # alias for -Directory
gci -af # alias for -File
97
iraSenthil

В PowerShell 3.0 вы также можете использовать недавно добавленный параметр -Attributes
(вместе с логическими операторами)

Get-ChildItem -Recurse -Attributes !Directory+!System

Golfed

dir -r -Attributes !D
2
nixda