PowerShell: วิธีรับขนาดโฟลเดอร์เป็น GB
คุณสามารถใช้ไวยากรณ์ต่อไปนี้ใน PowerShell เพื่อรับขนาด (เป็น GB) ของแต่ละโฟลเดอร์ในไดเร็กทอรีเฉพาะ:
$path = "c:\users\bobbi\onedrive\documents\collecting_wisdom"
$folders = Get-ChildItem -Path $path -Directory -Recurse
$sizes = foreach ($folder in $folders) {
$size = (Get-ChildItem -Path $folder.FullName -File -Recurse |
Measure-Object -Property Length -Sum).Sum
[PSCustomObject]@{
Name = $folder.Name
Size_GB = [Math]::Round($size / 1GB, 5)
}
}
$sizes | Format-table
ตัวอย่างนี้จะแสดงชื่อและขนาด (เป็น GB) ของแต่ละโฟลเดอร์ในไดเร็กทอรีที่เราระบุไว้ในตัวแปร $path
หมายเหตุ: ตัวอย่างนี้จะปัดเศษขนาดของไฟล์เป็นทศนิยม 5 ตำแหน่ง แต่คุณสามารถเปลี่ยน 5 เป็นค่าอื่นได้ใน Round() หากคุณต้องการปัดเศษเป็นตัวเลขอื่นแทน
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: วิธีรับขนาดโฟลเดอร์เป็น GB โดยใช้ PowerShell
สมมติว่าไดเรกทอรีปัจจุบันของเรามีเส้นทางต่อไปนี้:
C:\Users\bobbi\OneDrive\Documents\collecting_wisdom
เราสามารถพิมพ์ Dir เพื่อแสดงรายการไฟล์ทั้งหมดในไดเร็กทอรีปัจจุบันนี้:
สมมติว่าเราต้องการรับขนาดของแต่ละโฟลเดอร์ในไดเร็กทอรีนี้เป็น GB
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อดำเนินการดังกล่าว:
$path = "c:\users\bobbi\onedrive\documents\collecting_wisdom"
$folders = Get-ChildItem -Path $path -Directory -Recurse
$sizes = foreach ($folder in $folders) {
$size = (Get-ChildItem -Path $folder.FullName -File -Recurse |
Measure-Object -Property Length -Sum).Sum
[PSCustomObject]@{
Name = $folder.Name
Size_GB = [Math]::Round($size / 1GB, 5)
}
}
$sizes | Format-tableภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:
เอาต์พุตจะแสดงชื่อของแต่ละโฟลเดอร์ในไดเร็กทอรีพร้อมกับขนาดโฟลเดอร์ในหน่วย GB:
- เศรษฐมิติ: 0.00235 GB
- สถิติด้านสิ่งแวดล้อม: 0.00048 GB
- การวิเคราะห์อนุกรมเวลา: 0.00033 GB
หมายเหตุ: หากคุณต้องการแสดงขนาดโฟลเดอร์เป็น MB แทน ให้หารด้วย 1MB แทนภายในวิธี Round()

