Saya ingin menggunakan get-childitem secara rekursif, tetapi hanya mengembalikan file bukan direktori. Solusi terbaik yang saya miliki sepertinya tidak alami:
gci . *.* -rec | where { $_.GetType().Name -eq "FileInfo" }
Saya ingin menggunakan get-childitem secara rekursif, tetapi hanya mengembalikan file bukan direktori. Solusi terbaik yang saya miliki sepertinya tidak alami:
gci . *.* -rec | where { $_.GetType().Name -eq "FileInfo" }
Jawaban:
Di Powershell 3.0, lebih sederhana,
gci -Directory #List only directories
gci -File #List only files
Ini bahkan lebih pendek,
gci -ad # alias for -Directory
gci -af # alias for -File
Di PowerShell 3.0 Anda juga dapat menggunakan -Attributes
parameter yang baru ditambahkan
(bersama dengan operator logis)
Get-ChildItem -Recurse -Attributes !Directory+!System
Golf
dir -r -Attributes !D
Dalam PowerShell 2.0 solusi terbaik dan paling sederhana yang saya buat adalah dengan memasukkan semua file dengan ekstensi:
get-childitem -Recurse -include *.*
folder tidak memiliki ekstensi sehingga dikecualikan, waspadalah terhadap tidak ada file bernama ekstensi.