tem somente arquivos de retorno do Powershell get-childitem

70

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" }
    
por Frank Schwieterman 09.06.2010 / 19:13

4 respostas

68

Tente isto:

gci . *.* -rec | where { ! $_.PSIsContainer }
    
por 09.06.2010 / 20:06
93

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
    
por 24.01.2013 / 22:16
2

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
    
por 19.05.2014 / 19:52
-4

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.

    
por 07.05.2015 / 13:27

Tags