Tôi muốn xem kích thước của các thư mục con trong một thư mục, tương tự như du -shlệnh linux . Làm thế nào tôi có thể liệt kê các thư mục và kích thước của chúng trong dấu nhắc lệnh?
Tôi muốn xem kích thước của các thư mục con trong một thư mục, tương tự như du -shlệnh linux . Làm thế nào tôi có thể liệt kê các thư mục và kích thước của chúng trong dấu nhắc lệnh?
Câu trả lời:
Hãy dùng thử tiện ích sử dụng đĩa từ Sysiternals. Cụ thể, du -l 1nên hiển thị kích thước của mỗi thư mục con của thư mục hiện tại. Để biết thêm thông tin, chạy dumà không có bất kỳ tham số.
Nếu PowerShell vẫn ổn, hãy thử các cách sau:
Get-ChildItem |
Where-Object { $_.PSIsContainer } |
ForEach-Object {
$_.Name + ": " + (
Get-ChildItem $_ -Recurse |
Measure-Object Length -Sum -ErrorAction SilentlyContinue
).Sum
}
Các kích thước được tính bằng byte. Để định dạng chúng trong một số đơn vị lớn hơn như MB, hãy thử cách sau (cô đọng thành một dòng):
Get-ChildItem | Where-Object { $_.PSIsContainer } | ForEach-Object { $_.Name + ": " + "{0:N2}" -f ((Get-ChildItem $_ -Recurse | Measure-Object Length -Sum -ErrorAction SilentlyContinue).Sum / 1MB) + " MB" }
Để biết thêm thông tin, xem bài viết này tại Technet .
Nếu bạn muốn định dạng linh hoạt hơn về kích thước (chọn kB / MB / GB / vv dựa trên kích thước thực tế), hãy xem câu hỏi này và câu trả lời của nó .
Tôi không nghĩ có thể làm những gì bạn muốn từ dòng lệnh thông thường và chỉ với một vài lệnh đơn giản. Xem kịch bản này làm ví dụ (sẽ không sao chép nó ở đây vì tôi không tin rằng phương pháp này đáng để theo đuổi, trừ khi PowerShell không có sẵn và các tiện ích của bên thứ ba không được chấp nhận).
Tôi không có kinh nghiệm duvề Linux. Nhưng trong windows tôi sử dụng dir /sđể liệt kê tất cả các thư mục và thư mục con cùng với kích thước tệp.
/Stắc không hiển thị kích thước của các thư mục, nó chỉ đơn giản làm cho lệnh đệ quy đi qua tất cả các thư mục con.