Bazen sisteminize kurduğunuz bir uygulama geçici boş klasörler oluşturabilir ve bunları silemez zamanla biriken bu 0 bayt lık boş klasörlerin sayısı okadar çok artar ki , tek tek silmek imkansız hale gelir
, işin daha da garibi bunlar birden fazla dizinde oluşmuş olabilir. Geçenlerde Youtube kanalımızda benzeri bir sorundan şikayet eden bir takipçimize bu iş için bir uygulama tavsiye edince Burada
Yazılımsız çözüm aradığını ve bu konuda varsa bir kod paylaşmamızı istemişti. hem sorusunu cevaplamak hemde benzeri sorunları olanlara yardımcı olmak maksadı ile bu aşağıdaki çözüm adımlarını sizlerle paylaşıyoruz.
Boş klasörleri Windows Arama ile bulup silin
Boş kasörleri bulup silmek için birden fazla yöntem uygulayabilirsiniz , mesela Dosya gezginindeki arama boşluğuna aşağıdaki kodlardan birini yazıp Enter tuşuna basın
size:empty size:0 KB
Gel gelelim Windows aramanın çok sayıda dosyayı bulması zaman alacaktır ve pek pratik bir yöntem değildir.
Çok daha pratik bir yöntem olarak Cmd , bat , Powershell veya Vbs kodları kullanılabilir. Hem işlem çok hızlı gerçekleşecektir hemde sürekli oluşan Boş klasörleri sistem açılışında otomatik olarak sildirmenize yardımcı olacaktır. Aşağıda eğer Cmd veya Bat kodları ile boş klasörleri sildirmek istiyorsanız kullanabileceğiniz kodlar paylaşılmıştır.
Cmd komutları ile Boş klasörleri Topluca sildirtin
Aşağıdaki Cmd kodlarından birini kullanmadan önce boş klasörlerin bulunduğu klasöre veya dizine sağ tıklayıp Komut istemini burada aç dedikten sonra komutlardan birini uygulayın
FOR /F delims^= %%A IN ('DIR/AD/B/S^|SORT/R') DO RD "%%A" for /f "delims=" %d in ('dir /s /b /ad ^| sort /r') do rd "%d" for /d /r %d in (*.*) do rd "%d"
Aşağıda Komut çıktısını görüyorsunuz
Bat komutları ile Boş klasörleri Topluca sildirtin
Üstteki kodları Bat içerisinde kullanırken "%" leri "%%" olarak değiştirin
for /R /D %%1 in (*) do rd "%%1" for /f "delims=" %%d in ('dir /s /b /ad ^| sort /r') do rd "%%d" for /d /r %%d in (*.*) do rd "%%d"
her bir satır ayrı bir kod olduğundan dilediğinizi kullanabilirsiniz.
Powershell komutu ile Boş klasörleri topluca sildirtin
Boş klasörlerin yeraldığı klasör veya dizini sağ tıklayıp POwershell penceresini burada açın kısmını seçtikten sonra aşağıdaki komutu kullanmanız yeterlidir.
Get-ChildItem -Recurse . | where { $_.PSISContainer -and @( $_ | Get-ChildItem ).Count -eq 0 } | Remove-Item
Aşağıda komut çıktısını görüyorsunuz
Vbscript ile ile Boş klasörleri topluca sildirtin
Vbscript kodlarına gelince bunun için Cmd kodlarını Vbsc içerisinden çağırmak yeterldir. Aşağıdaki kodları kullanabilirsiniz.
Dim oShell Set oShell = WScript.CreateObject ("WScript.Shell") oShell.run "cmd /c for /d /r %d in (*.*) do rd ""%d""" , 0 , True Set oShell = Nothing
Elbette bat veya Vbscript kodlarının Boş klasörlerin bulunduğu dizin veya klasör içerisinden çalıştırmanız gerekecektir. Bat, cmd ve Vbscript kodlarını aşağıdaki indirme linkinde bulabilirsiniz.
- Boş klasör silme yazılımları (Ücretsiz ve Portable) Burada
- Silinemeyen Dosya veya Klasör için yöntemler Burada
Aynen öyle paylaştığımız kodun sizde işe yaramasına memnun oldum
for /f "delims=" %%d in ('dir /s /b /ad ^| sort /r') do rd "%%d"
Yukarıdaki komutu .bat uzantılı bir dosyaya dönüştürdükten sonra dilediğiniz dizine kopyalayıp çalıştırınca herbirini bulup kalıcı siliyor.
Rica ederim , selamlar.
Teşekkürler çok işimize yarayacak.