Özyinelemeli get-childitem kullanmak istiyorum, ancak yalnızca dizinleri değil dosyaları döndürmesini sağlarım. Sahip olduğum en iyi çözüm doğal görünmüyor:
gci . *.* -rec | where { $_.GetType().Name -eq "FileInfo" }
Özyinelemeli get-childitem kullanmak istiyorum, ancak yalnızca dizinleri değil dosyaları döndürmesini sağlarım. Sahip olduğum en iyi çözüm doğal görünmüyor:
gci . *.* -rec | where { $_.GetType().Name -eq "FileInfo" }
Yanıtlar:
Powershell 3.0'da daha basittir.
gci -Directory #List only directories
gci -File #List only files
Bu daha kısa,
gci -ad # alias for -Directory
gci -af # alias for -File
PowerShell 3.0'da yeni eklenen -Attributes
parametreyi de kullanabilirsiniz
(mantıksal operatörlerle birlikte)
Get-ChildItem -Recurse -Attributes !Directory+!System
golfed
dir -r -Attributes !D
Powershell 2.0'da bulabildiğim en iyi ve en basit çözüm, uzantıya sahip tüm dosyaları eklemektir:
get-childitem -Recurse -include *.*
klasörler bir uzantıya sahip değildir, dolayısıyla dışlanırlar, dosya adında uzantılara dikkat edin.