PowerShell: GB Cinsinde Klasör Boyutu Nasıl Gidilir?


Belirli bir dizindeki her klasörün boyutunu (GB cinsinden) almak için PowerShell'de aşağıdaki sözdizimini kullanabilirsiniz:

$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

Bu özel örnek, $path değişkeninde belirttiğimiz dizindeki her klasörün adını ve boyutunu (GB cinsinden) görüntüleyecektir.

Not: Bu özel örnek, dosyanın boyutunu virgülden sonra 5 basamağa yuvarlar, ancak Round()'da 5'i farklı bir değerle değiştirebilirsiniz. Bunun yerine farklı bir sayıya yuvarlamak istiyorsanız işlevini kullanın.

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: PowerShell Kullanarak GB Cinsinden Klasör Boyutunu Alma

Geçerli dizinimizin aşağıdaki yola sahip olduğunu varsayalım:

C:\Users\bobbi\OneDrive\Documents\collecting_wisdom

Bu geçerli dizindeki tüm dosyaları listelemek için Dir yazabiliriz:

Bu dizindeki her klasörün boyutunu GB cinsinden almak istediğimizi varsayalım.

Bunu yapmak için aşağıdaki sözdizimini kullanabiliriz:

$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

Aşağıdaki ekran görüntüsü bu sözdiziminin pratikte nasıl kullanılacağını göstermektedir:

Çıktı, dizindeki her klasörün adını ve GB cinsinden klasör boyutunu görüntüler:

  • Ekonometri: 0,00235 GB
  • Çevresel İstatistikler: 0,00048 GB
  • Zaman Serisi Analizi: 0,00033 GB

Not: Klasör boyutunu bunun yerine MB cinsinden görüntülemek istiyorsanız, Round() yöntemiyle bunun yerine 1 MB'a bölmeniz yeterlidir.

İlgili makaleler