ฉันจะแสดงรายการไดเรกทอรีและขนาดในพรอมต์คำสั่งได้อย่างไร


15

ฉันต้องการดูขนาดของโฟลเดอร์ย่อยในโฟลเดอร์คล้ายกับdu -shคำสั่งlinux ฉันจะแสดงรายการไดเรกทอรีและขนาดในพรอมต์คำสั่งได้อย่างไร


PS ผมพบว่าซอฟแวร์เล็ก ๆ น้อย ๆ นี้ฟรีที่มีประโยชน์เช่นเดียวwindirstat.info
giorgio79


ขอบคุณที่ชี้ให้เห็นdu -sh- ฉันใช้cmderบน Windows และทำงานได้ดี
jbaums

คำตอบ:


19

ลองใช้ยูทิลิตีDisk Usageจาก Sysinternals โดยเฉพาะdu -l 1ควรจะแสดงขนาดของไดเรกทอรีย่อยของไดเรกทอรีปัจจุบันแต่ละ สำหรับข้อมูลเพิ่มเติมให้รันduโดยไม่มีพารามิเตอร์ใด ๆ


หาก PowerShell เป็นปกติให้ลองทำดังนี้:

Get-ChildItem |
Where-Object { $_.PSIsContainer } |
ForEach-Object {
  $_.Name + ": " + (
    Get-ChildItem $_ -Recurse |
    Measure-Object Length -Sum -ErrorAction SilentlyContinue
  ).Sum
}

ขนาดเป็นไบต์ หากต้องการจัดรูปแบบในหน่วยที่มีขนาดใหญ่กว่าเช่น MB ลองทำสิ่งต่อไปนี้ (ย่อตัวเป็นหนึ่งบรรทัด):

Get-ChildItem | Where-Object { $_.PSIsContainer } | ForEach-Object { $_.Name + ": " + "{0:N2}" -f ((Get-ChildItem $_ -Recurse | Measure-Object Length -Sum -ErrorAction SilentlyContinue).Sum / 1MB) + " MB" }

สำหรับข้อมูลเพิ่มเติมโปรดดูที่บทความนี้ที่ร้องขอ

หากคุณต้องการการจัดรูปแบบที่มีความยืดหยุ่นมากขึ้นของขนาด (เลือกกิโลไบต์ / MB / GB / ฯลฯ ขึ้นอยู่กับขนาดจริง) ดูคำถามนี้และคำตอบของมัน


ฉันไม่คิดว่าเป็นไปได้ที่จะทำสิ่งที่คุณต้องการจากบรรทัดคำสั่งปกติและด้วยคำสั่งง่ายๆเพียงไม่กี่คำ ดูสคริปต์นี้เป็นตัวอย่าง (จะไม่คัดลอกมาที่นี่เพราะฉันไม่เชื่อว่าวิธีการดังกล่าวมีค่าสำหรับการดำเนินการเว้นแต่ว่า PowerShell ใช้งานไม่ได้และไม่สามารถใช้ยูทิลิตี้ของบุคคลที่สามได้)


ดูดี. จะรอสักครู่เพื่อดูว่ามีวิธีพื้นเมืองทำเช่นนี้ในพร้อมรับคำสั่ง :)
giorgio79

@ giorgio79 ดูคำตอบที่ปรับปรุงแล้ว เป็นไปได้จริงในพรอมต์คำสั่ง แต่ฉันขอแนะนำการใช้ดิสก์หรือใช้ PowerShell
Indrek

0

ฉันไม่มีประสบการณ์duใน Linux แต่ใน windows ฉันใช้dir /sเพื่อแสดงรายการโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมดพร้อมกับขนาดไฟล์


1
/Sสวิทช์ไม่แสดงขนาดของไดเรกทอรีมันก็ทำให้คำสั่งซ้ำไปผ่านไดเรกทอรีย่อยทั้งหมด
Indrek

3
ดูอย่างระมัดระวังมันแสดงขนาดของแต่ละโฟลเดอร์ด้วย แม้ว่าจะไม่สามารถอ่านได้มากนัก
Ankit

อ่าใช่ฉันเห็นว่าคุณหมายถึงอะไร - ใต้รายการไฟล์ของแต่ละไดเรกทอรีย่อยมันจะแสดงขนาดรวมของไฟล์ทั้งหมดในไดเรกทอรีนั้น อย่างที่คุณพูดมันไม่ง่ายเลยที่จะอ่านและขนาดก็ไม่ได้วนซ้ำ
Indrek
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.