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?


15

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?


PS Tôi thấy phần mềm nhỏ miễn phí hữu ích này cũng windirstat.info
giorgio79


Cảm ơn bạn đã chỉ ra du -sh- Tôi sử dụng cmder trên Windows và nó hoạt động tốt.
jbaums

Câu trả lời:


19

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).


Có vẻ tốt. Sẽ chờ một chút để xem có cách nào để thực hiện việc này trong dấu nhắc lệnh không :)
giorgio79

@ giorgio79 Xem câu trả lời cập nhật. Nó hoàn toàn có thể thực hiện được trong dấu nhắc lệnh, nhưng tôi khuyên bạn nên sử dụng Đĩa hoặc sử dụng PowerShell.
Indrek

0

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.


1
Công /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.
Indrek

3
Nhìn kỹ, nó cũng cho thấy kích thước của mỗi thư mục. Mặc dù nó không nhiều người có thể đọc được.
Ankit

À vâng, tôi hiểu ý của bạn - trong danh sách tệp của mỗi thư mục con, nó hiển thị tổng kích thước của tất cả các tệp trong thư mục đó. Giống như bạn nói, tuy nhiên, nó không thực sự dễ đọc và kích thước không được hiển thị đệ quy.
Indrek
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.