Yükleniyor...
jumbotron

Beğendiğiniz içerikleri sosyal medya üzerinden paylaşarak içeriklerin daha fazla kişi tarafından görüntülenmesine yardımcı olabilirsiniz.

category Kategori: Genel

Fırat Boyan 21.03.2018 5

Belli Bir Klasör İçeriğini Komutla .BAT (Batch) dosyasından Otomatik Silme

Bu makalemde sizlere belli bir klasör içeriğinin otomatik olarak nasıl silineceğinden bahsediyor olacağım.

Bu silme işleminde C:\Users\User Name\AppData\Local\Temp dizinindeki TEMP klasörünün Task Scheduler (Görev Zamanlayıcı) ile bir Schedule'a (zaman planı) bağlayarak belirleyeceğimiz zaman aralıklarında düzenli olarak silinmesini sağlayacağız.

Silmek istediğim TEMP klasörü dizini aşağıdaki gibidir.
C:\Users\Administrator\AppData\Local\Temp

Klasör İçeriğini Komutla bat dosyasından Otomatik Silme

Bu dizin içeriğini bir Schedule'a (zaman planı) bağlayarak düzenli olarak silinmesini sağlamak için Task Scheduler (Görev Zamanlayıcı) kullanacağım ancak klasör içerğini silmek için öncelikle bir komut satırına ihitiyacım var.

Gerekli olan komut satırlarım aşağıdaki gibidir:

set folder="C:\Users\Administrator\AppData\Local\Temp" cd /d %folder% for /F "delims=" %%i in ('dir /b') do (rmdir "%%i" /s/q || del "%%i" /s/q)

Klasör İçeriğini Komutla bat dosyasından Otomatik Silme

Bu komut satırlarını bir text (metin dosası) içine alarak ismini RemoveFolderContent olarak belirleyip .txt uzantısını .bat şeklinde hazırlıyorum.

Klasör İçeriğini Komutla bat dosyasından Otomatik Silme

Oluşturulan .BAT (Batch) Dosyasının Task Scheduler'a (Görev Zamanlayıcı) Atanması

Bundan sonraki adımda ise sıra, oluşturulan .bat dosyasının Task Scheduler'a (Görev Zamanlayıcısı) atanması işlemine geldi. Bunun için Task Scheduler'ı çalıştırıyorum.

1- Task Scheduler üzerinde Task Scheduler (local) sağ tıklayarak Create Task... seçeneğini seçiyorum.

Klasör İçeriğini Komutla bat dosyasından Otomatik Silme

2- Karşıma çıkan Create Task penceresinde;

2.1- General sekmesinde Schedule'ım (zaman planı) için bir isim belirliyorum. Ben .bat dosyamla aynı isimdeki TEMPFolderCleanUP adını veriyorum.
Security Options alanında herhangi bir işlem yapmaya gerek yok ki zaten konumuzu da kapsamıyor.

Klasör İçeriğini Komutla bat dosyasından Otomatik Silme

2.2- Actions sekmesinde Schedule'ım (zaman planı) için çalıştıracağım .bat (Batch) uzantılı dosyanın yolunu tanımlamam gerekiyor. Bu sekmede iken;

2.2.1- New... butonuna basıyorum.

Klasör İçeriğini Komutla bat dosyasından Otomatik Silme

2.2.2- New Action penceresinde;

Action: Start a program olarak bırakıp,
Settings altındaki Program/script: bölümünde Browse... butonuna basıyor, .bat uzantılı dosyanın yolunu gösteriyorum.

Klasör İçeriğini Komutla bat dosyasından Otomatik Silme

Klasör İçeriğini Komutla bat dosyasından Otomatik Silme

Klasör İçeriğini Komutla bat dosyasından Otomatik Silme

Klasör İçeriğini Komutla bat dosyasından Otomatik Silme

2.3- Triggers sekmesinde, Actions sekmesinde Schedule'ım (zaman planı) için dizin yolunu tanımladığım .bat (Batch) uzantılı dosyanın çalışması için tetiklenme süresini belirlemem gerekiyor.

2.3.1- Bunun için öncelikle New... butonuna basıyorum.

Klasör İçeriğini Komutla bat dosyasından Otomatik Silme

2.3.2- New Trigger penceresinde, .bat uzantılı dosyanın çalışması için tetiklenme zamanını her hafta Cumartesi ve Pazar günleri saat 00:05 olarak ayarlıyorum.

 Klasör İçeriğini Komutla bat dosyasından Otomatik Silme

 Klasör İçeriğini Komutla bat dosyasından Otomatik Silme

Klasör İçeriğini Komutla bat dosyasından Otomatik Silme

3- C:\Users\Administrator\AppData\Local\Temp dizinindeki temp dosyaları aşağıdaki gibidir.

Klasör İçeriğini Komutla bat dosyasından Otomatik Silme

4- .bat uzantılı dosyanın çalışması için tetiklenme zamanını her hafta Cumartesi ve Pazar günleri saat 00:05 olarak ayarlamıştım. Saat tam 00:05'ta .bat uzantılı dosyam çalıştı ve belirttiğim dizindeki temp dosyalarının tamamını sildi.

Klasör İçeriğini Komutla bat dosyasından Otomatik Silme

Klasör İçeriğini Komutla bat dosyasından Otomatik Silme

Klasör İçeriğini Komutla bat dosyasından Otomatik Silme

Böylece, TEMP klasörünün Task Scheduler (Görev Zamanlayıcı) ile bir Schedule'a (zaman planı) bağlayarak belirleyeceğimiz zaman aralıklarında düzenli olarak silinmesini başarılı bir şekilde sağlamış olduk.

Faydalı olması dileğiyle...


Her türlü görüş ve önerilerinizi aşağıdaki YORUM panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.



Beğendiğiniz içerikleri sosyal medya üzerinden paylaşarak içeriklerin daha fazla kişi tarafından görüntülenmesine yardımcı olabilirsiniz.

Yazar: Fırat Boyan

Adım Fırat Boyan. 1985 Alanya doğumluyum. 2008 yılından beri İstanbul'da yaşıyorum. 15 yıldır Bilgi Teknolojileri sektöründeyim.
Bilgi teknolojileri alanında danışmanlık hizmetleri veren bir ARGE firması olan MİRSİS Bilgi Teknolojileri'nde Kidemli Sistem Uzmanı konumunda görev yapıyor, uzun yıllardır da Türkiye'nin en önde gelen bilişim eğitimleri merkezi olan, Network Akademi bünyesinde MCT-Microsoft Certified Trainer olarak Sistem ve Network Uzmanlığı eğitimleri veriyor, işlerimden arta kalan zamanlarda da bireysel olarak kurumsal firmalara Bilgi Teknolojileri Danışmanlık Hizmetleri sunuyorum.
Hakkımda daha fazla bilgi sahibi olmak ve sahip olduuğum olduğum Microsoft sertifikalarımı incelemek için Hakkımda sayfasını ziyaret edebilirsiniz.




5
YORUMLAR
Bu makaleye 5 yorum yapıldı.
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.

YORUM YAZ
   
  
(Yorum onay bildirimi için gereklidir. Yayınlanmaz.)
 
750 Karakter yazabilirsiniz.

   
Güvenlik kodunu BÜYÜK harflerle giriniz.
* Yorumlar, onaylandıktan sonra yayınlanmaktadır.


Yorumlar:
29.03.2019 bülen yıldırım
merhaba aynı klasörün içindeki sadece tüm pdf leri yada tüm jpg leri silecek şekilde kodu nasıl değiştirebiliriz? Teşekkürler

04.04.2019 Fırat Boyan
Merhaba, bu şekilde bir filtreleme yapmadım ancak bir dener, buraya sonucunu bildiririm.


25.04.2018 Enes
Güzel konu için teşekkürler hocam. Peki yine belli bir klasör içerisinde birçok dosya ve klasör var sabit olarak ve bunlara ek olarak hergün 1 adet backup klasörü(günayyılsaat ismi ile) ekleniyor ve bu hergün devam ediyor. Ben bat dosyası ile sadece yeni oluşan backup dosyasını nasıl alabilirim acaba. Belki karışık anlatmış olabilirim şu şekilde örneklendireyim : Bir adet "program" isminde klasör var ve bu klasör içerisinde programın kendi çalışmasını sağlayacak dosya ve klasörler var sabit. Hergün belli saatte bir adet backup klasörü "program" klasörü içerisine gün ay yıl saat olarak isimlendirilerek ekleniyor. Ben sadece backup dosyasını bat ile istediğim konuma kopyalamak istiyorum. Teşekkürler.

25.04.2018 Fırat Boyan
Merhaba Enes, Bir dene bakalım. Benim bakma şansım olmamıştı henüz :) Haber verirsen çok iyi olur.

25.04.2018 Enes
Sanırım ihtiyacımı bu parametre karşılayacak. "/d {:AA-GG-YYY: " Teşekkürler:)