Windows işletim sisteminde İçerisinde binlerce dosya bulunan bir klasörü silmeye kalktığımızda işlemin oldukça uzun sürdüğünü gözlemleyebiliriz mesela bir web sayfanız var ve bunun yedeklerini bir klasör
içerisinde tutuyorsanız yeni yedekler aldıkça eskilerini silmek gerekebilir , 30 GB büyüklüğünde içerisinde 140,000 (Yüzkırkbin) dosya ve 300-500 klasör olan büyük bir klasörü Windows gezgini üzerinden silmeye kalkarsak oldukça uzun sürecektir bunun sebebi Windows un öncelikli olarak klasör içeriğini analiz etmesi ve dosya sayısını vs hesaplamasıdır sonrasında silme işlemi gerçekleşir tüm işlemin bitmesi üstteki büyük klasör için yaklaşık 10-15 dk civarıdır. Peki ama bir silme işlemi için bukadar süre beklemek nekadar mantıklıdır ? bu işlemi çok daha kısa sürede gerçekleştirecek bir yöntem yokmudur , işte bu makalemizde bu sorunun olası bir çözümünü sunacağız
Windowstaki Silme işlemini çok daha kısa sürede yaptırmak
Büyük boyutlu klasörleri silme işlemini Komut isteminden verilecek bir komutla yaparsak çok daha kısa sürede tamamlanacaktır . 2015 Yılınca Matt Pilz yaptığı bir silme denemesinde oldukça ilginç sonuçlarla karşılaştı ; Windows gezgini üzerinden başlattığı Büyük boyutlu bir klasörün silme işlemi 11 dakikada tamamlanmıştı , aynı denemeyi komut isteminden bir komut ile denediğinde işlem sadece 29 sn sürdü buda Cmd üzerinden yapılan silmenin 20 kat daha hızlı olduğu anlamına geliyordu. mesela masaüstümde sordum.net isimli bir klasör olsun bunun içerisindeki herşeyi silmek istiyorsam öncelikle CD komutları ile klasöre ulaşırım veya sağ tıklayıp Komut istemini burada aç derim sonrasında aşağıdaki ilk komutu veririm
DEL /F/Q/S *.* > NUL RMDIR /Q/S foldername
Peki ama komutta kullanılan parametreler ne işe yarıyor ?
/F - Salt okunur dosyaların silinmesi için kullanılıyor
/Q - Sessiz mod
/S - Komutun Tüm alt klasör ve onların içindeki dosyaşlar için uygulanmasını sağlar
*.* - Tüm dosyaların silinmesini sağlar
> NUL - Konsol çıktısını devre dışı bırakır böylece işlemin dahada hızlanması sağlanır
Gel gelelim üstteki yöntem bu komutu sıkça kullananlar için pratik değildir o sebepledirki komutu sağ tuşumuz ile istediğimiz klasöre uygulayabilecek şekilde eklersek çok daha kullanışlı olacaktır , bunun için aşağıdaki bat kodlarını not defterine yapıştırıp ismi "delete.bat" olacak şekilde C:\Windows içerisine kaydedelim ,
@ECHO OFF ECHO Delete Folder: %CD%? PAUSE SET FOLDER=%CD% CD / DEL /F/Q/S "%FOLDER%" > NUL RMDIR /Q/S "%FOLDER%" EXIT
ardından aşağıdaki registry kaydını uyglayalım
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\shell\Hızlı Sil] [HKEY_CLASSES_ROOT\Directory\shell\Hızlı Sil\command] @="cmd /c \"cd %1 && delete.bat\""
Böylece sağ tuşumuzda Hızlı Sil diye bir girdi oluşacaktır , herhangi bir klasöre sağ tıklayıp bu Hızlı Sil özelliğini kullanırsak çok daha kısa sürede silme işlemi gerçekleşecektir.
Kazara silmenin önüne geçmek için birde onay Parametresi kullanılması faydalı olabilir
Üsttekilerle uğraşmak yerine bu işlemleri otomatik yaptırmak için aşağıdaki dosyayı indirip zipten çıkartın ve içerisindeki hizli_sil.vbe dosyasını çalıştırın , yönetici onayını verdikten sonra "Sağ tuşa Hızlı Sil Eklendi" mesajı alacaksınız
böylece herhangi bir klasöre tıklayıp içindekilerle birlikte silebilirsiniz. Eğer Hızlı sil özelliğini kaldırmak isterseniz aynı scripti birkez daha çalıştırmanız yeterlidir.
YUkarıdaki script Windows 10 , Windows 8.1 , Windows 7 ve Vistada sorunsuzdur. (Xp de denenmedi)
Teşekkürler...
Aynı scripti tekrar çalıştır sağ tuşundan kaldırılacaktır , bu işlem Cmd (Komut istemi) nin ototmatikleştirilmiş hali olduğundan sunulan seçenekler aynen geçerlidir.
ayrıca işlem onaya sunuluyor ama iptal yok esc"ye basıldığında işlem devam ediyor...
bu eklediklerimizi kaldırmak istersek ne yapmalıyız
Beğenmezine sevimdim ,selamlar
Çok işime yaradı. Çok beğendim bu scripti. Sağolun.
Kodlar için teşekürler , elbette birilerinin işine yarayacaktır , eline sağlık
Teşekkürler Hocam,Özelikle hata ile silinmeye karşı yaptığınız kısım güzel olmuş.Benimde zamanında kullandığım bir VBasic Scripti vardı haddim değil ama affınıza sığınarak paylaşayım belki birinin işine yarar.
on error resume next
dim i
set i=Createobject("Scripting.FileSystemObject")
i.deletefolder "c:/SilinecekKlasörAdı"
i.deletefile "c:/SilinecekKlasörAdı"
Emeklerinize Sağlık..
lafı olmaz gizemli , selamlar
tşk üstat
Çok büyük boyutlu klasörlerde bu yöntemi tavsiye ederim , yorumun için teşekürler.
Süpersiniz gerçekten harika. Ellerinize sağlık. Dakikalarca bu klasörlerin sayılmasını bekliyordum ve sonuç şunu diyordu. Çöp kovasına sığmayacak kadar büyük. Biliyorum ama nafile. Tekrardan eilinze sağlık.