PowerShell Kullanarak Boş Klasörler Nasıl Silinir?


Boş klasörler bilgisayarınızı karıştırabilir ve ihtiyacınız olan dosyaları bulmanızı zorlaştırabilir. Neyse ki PowerShell'i kullanarak sisteminizdeki boş klasörleri kolayca silebilir, değerli alandan tasarruf edebilir ve ihtiyacınız olan dosyaları bulmayı kolaylaştırabilirsiniz. Bu makalede, PowerShell'i kullanarak boş dizinleri bulma ve kaldırma adımlarında size yol göstereceğiz. İster acemi ister deneyimli bir kullanıcı olun, bu kılavuz bilgisayarınızın dosya yapısını düzenlemenize yardımcı olacaktır.

Boş klasörleri ve neden silinmeleri gerektiğini anlama

Boş klasörler, herhangi bir dosya veya alt klasör içermeyen klasörlerdir. Çok önemli görünmeseler de zamanla birikebilirler ve sabit diskinizde değerli yer kaplayabilirler. Ayrıca, ihtiyacınız olan dosyaları bulmanızı da zorlaştırabilirler, çünkü onlara ulaşmak için boş klasörlerden oluşan bir labirentte gezinmeniz gerekir.

Boş klasörler çeşitli nedenlerle oluşturulur. Örneğin, bir programı kaldırdığınızda, program arkasında boş klasörler bırakabilir. Veya dosyaları taşıdığınızda yanlışlıkla boş klasörleri arkanızda bırakabilirsiniz. Nasıl oluşturulduklarına bakılmaksızın, sisteminizin düzenli ve sorunsuz çalışmasını sağlamak için boş klasörlerin silinmesi gerekir.

Boş klasörlerin manuel olarak silinmesi ve PowerShell'in silinmesi

Boş klasörleri, klasöre sağ tıklayıp dosya gezgininde "Sil" seçeneğini seçerek manuel olarak silebilirsiniz. Ancak silinecek çok sayıda boş klasörünüz varsa bu zaman alıcı bir işlem olabilir. Hangi klasörlerin boş, hangilerinin boş olduğunu belirlemek de zor olabilir.

PowerShell, boş klasörleri silmek için daha etkili bir yol sağlar. PowerShell ile boş klasörleri aramak ve silmek için bir komut dosyası kullanabilirsiniz. Bu yöntem manuel silmeye göre daha hızlı ve daha doğrudur.

Boş Klasörleri Silmek için PowerShell Komut Dosyası

Boş klasörler dosya sisteminizi karmaşık hale getirebilir ve dosyalarınızda gezinmeyi ve düzenlemeyi zorlaştırabilir. Neyse ki PowerShell, boş klasörleri kaldırmanın basit ve etkili bir yolunu sunuyor. Bu makalede, bu görevi gerçekleştirmek için dosya sisteminizi temiz ve düzenli tutmanıza olanak tanıyan farklı yöntemleri inceleyeceğiz.

Bilgisayarınızda PowerShell'i açmak için şu adımları izleyin:

  1. Windows Başlat düğmesine tıklayın.
  2. Arama çubuğuna “PowerShell” yazın.
  3. Arama sonuçlarında “Windows PowerShell”e tıklayın.

Alternatif olarak, Çalıştır iletişim kutusunu açmak için klavyenizdeki Windows tuşu + R tuşlarına basabilirsiniz. Metin alanına “PowerShell” yazın ve Enter tuşuna basın.

Boş klasörleri bulmak ve silmek için kullanabileceğiniz komut dosyaları şunlardır:

PowerShell kullanarak Boş Klasörleri Bulma

Get-ChildItem cmdlet'i, belirli bir dizindeki alt öğelerin (dosyalar ve klasörler) listesini almak için kullanılır. Bu cmdlet'i kullanarak, tüm boş klasörleri belirli bir klasör yolundan yinelemeli olarak bulabiliriz. İşte bir örnek:


#Parameter
$Path = "C:\Temp"

#Find all empty Folders
Get-ChildItem -Path $Path -Directory -Recurse | ForEach-Object {
    if (!(Get-ChildItem -Path $_.FullName)) {
        Write-Host $_.FullName
    }
}

Bu örnekte, belirtilen "ana" klasör içindeki tüm öğeleri (dosyalar ve klasörler) yinelemeli olarak almak için Get-ChildItem'i (veya gci) kullanıyoruz. Daha sonra hiyerarşideki her dizini kontrol ederek içinde herhangi bir öğe olup olmadığını kontrol eder (Get-ChildItem -Path $_.FullName). Eğer öğe yoksa dizinin tam adını çıktıya yazar.

Gizli dosyaları dikkate almak için Get-ChildItem cmdlet'indeki "Get-ChildItem -Force" anahtarını kullanın. Çünkü varsayılan olarak gizli dosyaları döndürmez! Örneğin,
Get-ChildItem -Path $Path -Directory -Recurse -Force

Yukarıdaki yöntem iyi çalışıyor olsa da küçük bir sorun var! Boş bir klasörü sildiğinde, üst klasör de boşalabilir (Eğer ana klasörde yalnızca boş klasörler varsa!) O halde, klasör ve alt klasörleri boş klasörler içermediğinde, klasörü boş olarak kabul etmek için mantığı biraz değiştirelim. herhangi bir dosya. Boş klasörleri bulmak için aşağıdaki komutu kullanın:


Get-ChildItem -Path "C:\Temp" -Force -Recurse -Directory | 
    Where-Object { (Get-ChildItem -Path $_.FullName -Recurse -File -EA SilentlyContinue | 
        Measure-Object).Count -eq 0 } | Select FullName | Format-Table -AutoSize

Sorgudaki “C:\Temp” Temp Klasörünü, boş klasörleri aramak istediğiniz klasörün yolu ile değiştirin. Ayrıca, lütfen makinenizde PowerShell betiklerini çalıştırmak için gerekli izinlere sahip olduğunuzdan emin olun.

PowerShell Kullanarak Boş Klasörleri Silme

Belirtilen kök klasördeki tüm boş klasörleri silecek PowerShell betiği:


param(
    [Parameter(Mandatory=$true)]
    [string]$Path
)

Get-ChildItem -Path $Path -Force -Recurse -Directory | 
    Where-Object { (Get-ChildItem -Path $_.FullName -Recurse -File -EA SilentlyContinue | 
        Measure-Object).Count -eq 0 } | Remove-Item -Force -Recurse

Aramak istediğiniz klasörün Klasör yolunu belirtin ve boş klasörleri kaldırın. Betik, belirtilen klasör ağacında boş klasörleri ve bunların tüm alt dizinlerini (eğer boşlarsa) arayacak ve ardından bunları Remove-Item cmdlet'ini kullanarak kaldıracaktır. -Force parametresi, onay istemeden klasörleri silmek için kullanılır. Bir klasörde boş bir alt klasör varsa her ikisi de silinir.

Yaygın hataları giderme

Komut dosyasını çalıştırırken herhangi bir hatayla karşılaşırsanız, burada bazı genel sorunlar ve bunların nasıl çözüleceği açıklanmaktadır:

  • “Erişim reddedildi”: Bu hata, klasörü silme izniniz olmadığında ortaya çıkar. Bu sorunu çözmek için PowerShell'i yönetici olarak çalıştırın.
  • “Yol çok uzun”: Bu hata, klasörün yolu çok uzun olduğunda ortaya çıkar. Bu sorunu çözmek için klasörü daha kısa yolu olan bir konuma taşıyın.
  • “Dosya kullanımda”: Bu hata, klasörün başka bir program tarafından kullanılması durumunda ortaya çıkar. Bu sorunu çözmek için klasörü kullanan programı kapatın ve yeniden deneyin.

Boş klasörleri silmek için PowerShell'i kullanmaya yönelik en iyi uygulamalar

Boş klasörleri silmek için PowerShell'i kullanırken izlenecek en iyi uygulamalardan bazıları şunlardır:

  • Komut dosyasını tüm sisteminizde çalıştırmadan önce daima küçük bir klasör alt kümesinde test edin. Gerçekten silmeden silinecek dizinlerin listesini almak için -whatif anahtarını kullanın.
  • Komut dosyasını çalıştırmadan önce dosyalarınızı yedekleyin. Çünkü Remove-Item cmdlet'i öğeleri geri dönüşüm kutusuna göndermeden kalıcı olarak siler.
  • İzin sorunlarını önlemek için PowerShell'i yönetici olarak çalıştırın.
  • -Recurse parametresini kullanırken dikkatli olun, çünkü tüm alt klasörlerdeki boş klasörleri arayacaktır.
  • Yanlış dosyaların yanlışlıkla silinmesini önlemek için betiği çalıştırmadan önce yolu bir kez daha kontrol edin.

Sonuç ve son düşünceler

Boş klasörleri kaldırmak, dosya sisteminizi yönetirken yararlı bir görevdir ve PowerShell bu görevi gerçekleştirmek için birden fazla yaklaşım sunar. PowerShell, boş klasörleri verimli bir şekilde kaldırma esnekliği sağlar. İster yeni başlayan ister deneyimli bir kullanıcı olun, PowerShell'in bilgisayarınızın dosya yapısını yönetmek için güçlü bir araç olduğunu göreceksiniz. Bu yazıda verilen script ile sisteminizdeki boş klasörleri kolaylıkla arayabilir ve silebilirsiniz. Yanlış dosyaların yanlışlıkla silinmesini önlemek için PowerShell kullanırken en iyi uygulamaları takip etmeyi unutmayın.

İlgili makaleler