Tente isto:
gci . *.* -rec | where { ! $_.PSIsContainer }
Eu gostaria de usar o get-childitem recursivamente, mas apenas ele retorna arquivos e não diretórios. A melhor solução que acabei de não parece natural:
gci . *.* -rec | where { $_.GetType().Name -eq "FileInfo" }
No Powershell 3.0, é mais simples,
gci -Directory #List only directories
gci -File #List only files
Isso é ainda menor,
gci -ad # alias for -Directory
gci -af # alias for -File
No PowerShell 3.0, você também pode usar o -Attributes
parameter recém-adicionado
(junto com operadores lógicos)
Get-ChildItem -Recurse -Attributes !Directory+!System
Golfed
dir -r -Attributes !D
No powershell 2.0, a melhor e mais simples solução que encontrei é incluir todos os arquivos com uma extensão:
get-childitem -Recurse -include *.*
As pastas não têm uma extensão, pelo que são excluídas, não precisas de ficheiros com nome de extensão.
Tags powershell