2010-06-09 17:13:59 +0000 2010-06-09 17:13:59 +0000
79
79

ter ficheiros de devolução Powershell get-childitem apenas

Gostaria de utilizar o get-childitem recursivamente, mas apenas ter ficheiros de devolução e não directórios. A melhor solução que tenho não me parece natural:

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

Respostas (4)

109
109
109
2013-01-24 21:16:24 +0000

Em Powershell 3.0, é mais simples,

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

Isto é ainda mais curto,

gci -ad # alias for -Directory
gci -af # alias for -File
78
78
78
2010-06-09 18:06:03 +0000

Experimente isto:

gci . *.* -rec | where { ! $_.PSIsContainer }
3
3
3
2014-05-19 17:52:55 +0000

No PowerShell 3.0 também pode utilizar o novo parâmetro -Attributes (juntamente com os operadores lógicos)

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

Golfed

dir -r -Attributes !D
-5
-5
-5
2015-05-07 11:27:01 +0000

No powerhell 2.0 a melhor e mais simples solução que arranjei foi incluir todos os ficheiros com uma extensão:

get-childitem -Recurse -include *.*

pastas não têm uma extensão, por isso são excluídos, cuidado com a inexistência de uma extensão chamada ficheiros.