Windows 11/10'da PowerShell kullanarak Klasör Boyutu nasıl elde edilir


Genellikle Windows tabanlı bir bilgisayarda, bir öğenin veya klasörün boyutunu, öğeye veya klasöre sağ tıklayıp içerik menüsünden Özellikler'i seçerek kontrol edebilirsiniz. Bu yazıda size Windows 11/10'da PowerShell kullanarak Klasör Boyutunu nasıl kontrol edeceğinizi veya alacağınızı göstereceğiz.

Bir klasörü almanın geleneksel yolu yerine PowerShell'i kullanmak isteyebileceğiniz bir kullanım durumu, öğenin veya klasörün boyutunun önemli ölçüde daha büyük olması (örneğin, 100 GB'den büyük olması) olabilir. Bu durumda, geleneksel yöntemin kullanılması, klasör Özellikler penceresinin sonunda öğenin boyutunu doldurması biraz zaman alabilir; dahası, gösterilen şey klasörün gerçek boyutu olmayabilir.

Windows 11/10'da PowerShell kullanarak Klasör Boyutu nasıl elde edilir

Şu ya da bu nedenden ötürü, bir klasörün boyutuna ihtiyacınız olabilir; örneğin, klasörü (yerel sürücüde, harici sürücüde ya da bulut depolama alanında başka bir konuma) taşımak için gereken süreyi ya da süreyi tahmin etmek ya da önemli ölçüde sabit sürücünüzde yer açmak için onu silmek için büyük bir klasör; PowerShell'i kullanarak bir klasörün/dizin boyutunu anında alabilirsiniz. Bu konuyu aşağıdaki alt başlıklar altında ele alacağız.

  1. Klasör boyutunu almak için PowerShell komutları

  2. Bayt, MB ve GB cinsinden klasör boyutunu alın

  3. Klasör boyutunu ondalık sayıyla alın

  4. Belirli dosya türü öğelerinin boyutunu alın

  5. Bir klasör ve alt klasör boyutları alın

  6. Zaman filtresiyle klasör ve alt klasör boyutlarını alın

  7. PowerShell betiğini kullanarak tüm alt dizin klasörü boyutlarını alın

1. Klasör boyutunu almak için PowerShell komutları

Aşağıda, bir klasörün boyutunu elde etmek amacıyla sonuçları gereksiniminize göre filtrelemek için anahtarlar ve parametrelerle birlikte kullanılabilecek 2 birincil PowerShell cmdlet'i verilmiştir.

  • Get-ChildItem (Takma Ad: GCI) - Bu komut, alt dizinler de dahil olmak üzere bir veya belirli dizinlerden bilgi alır; boş dizinler görüntülenmez veya gösterilmez.

  • Measure-Object (Takma ad: measure) - Bu komut, belirtilen dizinin boyutu da dahil olmak üzere farklı özelliklerini hesaplar.

Takma ad, komutun alternatif adıdır, dolayısıyla her seferinde komutun tamamını yazmanıza gerek kalmaz.

2. Bayt, MB ve GB cinsinden klasör boyutunu alın

Cmdlet size belirtilen klasörün ve yalnızca içindeki öğelerin boyutunu verir ve sonuçlar, alt dizinlerin içindeki öğelerin boyutunu içermez. Örneğin PC'mizde bulunan C:\Users\Chidum.Osobalu\Documents\TWC_tained klasörünün boyutunu almak için bir komut çalıştıracağız. PathToFolder yer tutucusunu, boyutunu almak istediğiniz klasörün/dizinin tam yoluyla değiştirin.

Bayt cinsinden klasör boyutu:

Get-ChildItem PathToFolder | Measure-Object -Property Length -sum

MB cinsinden klasör boyutu:

(gci PathToFolder | measure Length -s).sum / 1Mb

GB cinsinden klasör boyutu:

(gci PathToFolder | measure Length -s).sum / 1Gb

“Toplam” alanı duruma göre klasörün boyutunu Bayt, MB ve GB cinsinden görüntüler.

3. Klasör boyutunu ondalık sayı olarak alın

Boyutun birçok ondalık basamakta olması nedeniyle, MB ve GB cinsinden klasör boyutunun çıktısını bir bakışta anlamak belirsizdir. Sonuçları ondalık sayıya yuvarlamak için aşağıdaki komutu çalıştırabilirsiniz. Sonucu yuvarlamak istediğiniz ondalık basamak sayısını "X" ile değiştirin ve gerektiği gibi GB veya MB'yi belirtin.

"{0:NX} GB" -f ((gci PathToFolder | measure Length -s).sum / 1Gb)

4. Belirli dosya türü öğelerinin boyutunu alın

Aynı dosya türüne/uzantısına sahip bir klasördeki tüm öğelerin boyutunu almak istiyorsanız aşağıdaki komutu çalıştırın. FileType/Extension yer tutucusunu uygun şekilde değiştirin.

(gci PathToFolder *.FileType/Extension | measure Length -s).sum / 1Gb

5. Klasör ve alt klasör boyutlarını alın

Klasör ve alt klasör (içerideki öğeler dahil) boyutlarını elde etmek için, dizin erişimini atlamak amacıyla varsayımda kullanılan -Recurse parametresini -ErrorAction SilentlyContinue parametresiyle birlikte kullanmanız gerekir. İzin reddedildi vb. gibi hatalar.

Ana dizinin ve alt dizinlerin boyutunu almak için aşağıdaki komutlardan birini çalıştırabilirsiniz.

(gci PathToFolder -Recurse -ErrorAction SilentlyContinue| measure Length -s).sum / 1Gb
"{0:NX} GB" -f ((gci -force PathToFolder -Recurse -ErrorAction SilentlyContinue| measure Length -s).sum / 1Gb)

Bu cmdlet ayrıca gizli öğelerin boyutlarını da içerecektir.

6. Zaman filtresiyle klasör ve alt klasör boyutlarını alın

Ana ve alt klasörlerin boyutunu alabilir ve ayrıca belirli bir günde, belirli bir ayda veya belirli bir yılda oluşturulan öğelerin boyutunu bulmak için filtreler uygulayabilirsiniz. Bunu, sırasıyla -gt (büyüktür) ve -lt (küçüktür) parametreleriyle tanımlanan başlangıç ve bitiş tarihlerini belirterek tanımlayabilirsiniz. Tarihlerin formatı AA/GG/YY'dir.

Belirli bir dönemde oluşturulan alt klasörlerin bulunduğu bir klasörün boyutunu almak için aşağıdaki komutu çalıştırın. AA/GG/YY yer tutucusunu buna göre değiştirin.

(gci -force PathToFolder -Recurse -ErrorAction SilentlyContinue | ? {$_.CreationTime -gt ‘MM/DD/YY’ -AND $_.CreationTime -lt ‘MM/DD/YY’}| measure Length -s).sum / 1Gb

Yalnızca üst klasörlerin klasör boyutlarını elde etmek için daha önce verilen komutları kullanarak bu filtreleri de uygulayabilirsiniz.

7. PowerShell betiğini kullanarak tüm alt dizin klasörü boyutlarını alın

Şimdi işleri daha karmaşık hale getirmek için, bir klasör içindeki her alt dizinin boyutunu almanız gerektiğini varsayalım. Bu aynı zamanda PowerShell kullanılarak da gerçekleştirilebilir. Elbette, alt dizinlerdeki öğelerin boyutu da dahil olmak üzere tüm alt dizin klasörü boyutlarını elde etmek ve düzenli, tablo biçiminde sunmak için aşağıdaki kodu kullanarak bir PowerShell betiği oluşturabilir ve çalıştırabilirsiniz.

$targetfolder='DriveLetter:\'
$dataColl = @()
gci -force $targetfolder -ErrorAction SilentlyContinue | ? { $_ -is [io.directoryinfo] } | % {
$len = 0
gci -recurse -force $_.fullname -ErrorAction SilentlyContinue | % { $len += $_.length }
$foldername = $_.fullname
$foldersize= '{0:N2}' -f ($len / 1Gb)
$dataObject = New-Object PSObject
Add-Member -inputObject $dataObject -memberType NoteProperty -name “foldername” -value $foldername
Add-Member -inputObject $dataObject -memberType NoteProperty -name “foldersizeGb” -value $foldersize
$dataColl += $dataObject
}
$dataColl | Out-GridView -Title “Size of all subdirectories in DriveLetter drive”

Yukarıdaki koddaki DriveLetter yer tutucusunu uygun şekilde değiştirin ve PowerShell betiği yürütmeyi açtığınızdan emin olun.

Bu kadar!

Windows'ta bir klasörün boyutunu görmenin bir yolu var mı?

Klasör boyutunu kontrol etmenin geleneksel yolu, Dosya Gezgini'ni açmak ve boyutunu görmek istediğiniz dosya, klasör veya sürücüye sağ tıklamaktır. Görünen menüden Özellikler'i seçtiğinizde toplam dosya/sürücü boyutunu göreceksiniz. Aynı görevi gerçekleştirmenin geleneksel olmayan yolu, yukarıdaki bu yazıda gösterdiğimiz gibi PowerShell'i kullanmaktır.

Klasörleri ve boyutları listelemek için DOS komutu nedir?

dir komutu, dosyalar ve dizinler hakkındaki bilgileri ve ne kadar kullanılabilir disk alanı olduğunu görüntüler. Varsayılan olarak komut, geçerli dizindeki her dosyanın adını, boyutunu ve son değiştirilme zamanını görüntüler.

İlgili makaleler