ฉันต้องการดูขนาดของโฟลเดอร์ย่อยในโฟลเดอร์คล้ายกับdu -shคำสั่งlinux ฉันจะแสดงรายการไดเรกทอรีและขนาดในพรอมต์คำสั่งได้อย่างไร
ฉันต้องการดูขนาดของโฟลเดอร์ย่อยในโฟลเดอร์คล้ายกับdu -shคำสั่งlinux ฉันจะแสดงรายการไดเรกทอรีและขนาดในพรอมต์คำสั่งได้อย่างไร
คำตอบ:
ลองใช้ยูทิลิตี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 ใช้งานไม่ได้และไม่สามารถใช้ยูทิลิตี้ของบุคคลที่สามได้)
ฉันไม่มีประสบการณ์duใน Linux แต่ใน windows ฉันใช้dir /sเพื่อแสดงรายการโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมดพร้อมกับขนาดไฟล์
/Sสวิทช์ไม่แสดงขนาดของไดเรกทอรีมันก็ทำให้คำสั่งซ้ำไปผ่านไดเรกทอรีย่อยทั้งหมด