ก่อนอื่นให้สร้างฟังก์ชั่นต่อไปนี้:
Function Format-FileSize() {
Param ([int]$size)
If ($size -gt 1TB) {[string]::Format("{0:0.00} TB", $size / 1TB)}
ElseIf ($size -gt 1GB) {[string]::Format("{0:0.00} GB", $size / 1GB)}
ElseIf ($size -gt 1MB) {[string]::Format("{0:0.00} MB", $size / 1MB)}
ElseIf ($size -gt 1KB) {[string]::Format("{0:0.00} kB", $size / 1KB)}
ElseIf ($size -gt 0) {[string]::Format("{0:0.00} B", $size)}
Else {""}
}
จากนั้นคุณสามารถไพพ์เอาต์พุตของการGet-ChildItem
ผ่านSelect-Object
และใช้คุณสมบัติที่คำนวณได้เพื่อจัดรูปแบบขนาดไฟล์:
Get-ChildItem | Select-Object Name, @{Name="Size";Expression={Format-FileSize($_.Length)}}
แน่นอนว่าสามารถปรับปรุงฟังก์ชั่นการใช้งานสำหรับขนาดในช่วง PB และอื่น ๆ หรือเพื่อเปลี่ยนจำนวนทศนิยมตามความจำเป็น
Update-TypeData : Error in TypeData "System.IO.FileInfo": The member DefaultDisplayPropertySet is already present.
ใช้ PS3 รุ่นล่าสุดจาก 9/4