Tôi muốn sử dụng đệ quy get-childitem, nhưng chỉ có nó trả về các tệp không phải là thư mục. Giải pháp tốt nhất tôi có vẻ không tự nhiên:
gci . *.* -rec | where { $_.GetType().Name -eq "FileInfo" }
Tôi muốn sử dụng đệ quy get-childitem, nhưng chỉ có nó trả về các tệp không phải là thư mục. Giải pháp tốt nhất tôi có vẻ không tự nhiên:
gci . *.* -rec | where { $_.GetType().Name -eq "FileInfo" }
Câu trả lời:
Trong Powershell 3.0, nó đơn giản hơn,
gci -Directory #List only directories
gci -File #List only files
Điều này thậm chí còn ngắn hơn,
gci -ad # alias for -Directory
gci -af # alias for -File
Trong PowerShell 3.0, bạn cũng có thể sử dụng -Attributes
tham số mới được thêm vào
(cùng với các toán tử logic)
Get-ChildItem -Recurse -Attributes !Directory+!System
Chơi gôn
dir -r -Attributes !D
Trong powershell 2.0, giải pháp tốt nhất và đơn giản nhất tôi nghĩ ra là bao gồm tất cả các tệp có phần mở rộng:
get-childitem -Recurse -include *.*
các thư mục không có phần mở rộng để chúng bị loại trừ, hãy cẩn thận không có phần mở rộng có tên tệp.