Batch Script ile TEMP klasörünün silinmesi, sistem performansını optimize etmek ve geçici dosyaların biriktirdiği gereksiz yer kaplamayı önlemek için sıkça kullanılan bir yöntemdir. TEMP klasörü, genellikle sistem ve uygulamaların geçici olarak oluşturduğu dosyaların depolandığı bir alandır. Bu dosyalar, bir süre sonra gereksiz hale gelir ve Disk'te fazladan yer kaplayarak performans sorunlarına yol açabilir. Bu nedenle, belirli aralıklarla TEMP klasörünün düzenli olarak temizlenmesi önemlidir.
Silme işlemi teknik olarak, geçici dosyaların sistem tarafından hâlâ kullanılıyor olup olmadığının kontrol edilmesini gerektirir. TEMP klasöründeki bazı dosyalar aktif olarak kullanıldığında, silme işlemi başarısız olabilir veya kısmi bir temizlik gerçekleşebilir. Bu durumun önüne geçmek için, Batch Script'lerde işlemi belirli bir süre boyunca tekrar eden döngülerde çalıştırmak ya da dosya kilitleme durumunu analiz eden kontroller eklemek önemlidir. Bu sayede, geçici olarak kilitlenmiş dosyalar bile işlem sonunda silinebilir.
TEMP klasörünü silerken dikkat edilmesi gereken diğer bir konu da, bu klasörün bir kısmının sistem tarafından sürekli yeniden kullanılabilir olmasıdır. Windows işletim sistemleri, bu tür klasörleri belirli işlemler için sürekli olarak oluşturur ve kullanır. TEMP klasöründeki bazı dosyaların silinememesinin sebebi bu olabilir. Sistem ve uygulamaların çalışmaya devam etmesi için gerekli olan bu dosyalar, kullanımda olduğunda silinmeleri engellenir. Ancak, kullanımı bitmiş ya da artık gerekli olmayan dosyalar kolayca silinebilir.
Silme işlemi yapılırken, Disk'te yer açmanın yanı sıra sistemin genel sağlığını korumak için de TEMP klasörünün düzenli olarak temizlenmesi önerilir. Özellikle büyük uygulamaların çalıştırıldığı sistemlerde, TEMP klasörü hızla dolabilir ve bu da hem depolama alanını azaltır hem de uygulamaların performansını olumsuz etkileyebilir. Silme işlemi sonrasında sistem performansında gözle görülür bir iyileşme sağlanabilir.
TEMP klasörü, aynı zamanda güvenlik açısından da kritik olabilir. Kötü niyetli yazılımlar ya da zararlı dosyalar, bu klasörü kullanarak geçici veriler oluşturabilir. Bu yüzden, TEMP klasörünün temizlenmesi yalnızca performans değil, aynı zamanda güvenlik açısından da faydalıdır. TEMP klasöründeki dosyalar dikkatle incelenmeli ve zararlı olabilecek herhangi bir dosya silinmelidir.
Bu makalemde sizlere Windows Server 2012R2 üzerinde 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 C:\Users\Administrator\AppData\Local\Temp aşağıdaki gibidir.

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) |

Bu komut satırlarını bir Text içine alarak ismini RemoveFolderContent olarak belirleyip .txt uzantısını .bat eklinde hazırlıyorum.

.BAT (Batch) Dosyasının Task Scheduler'a Atanması
Otomasyon süreçlerinde .BAT dosyalarının Task Scheduler'a atanması, operasyonel verimliliği artıran kritik bir adımdır. Windows'un yerleşik bu aracı, sistemin belirli görevleri önceden tanımlanmış zamanlarda veya koşullarda çalıştırmasını sağlar. Task Scheduler, iş sürekliliği ve zamanlama gereksinimlerini hassas bir şekilde yerine getirerek manuel müdahaleleri en aza indirir.
.BAT dosyalarının kullanımı, belirli komut dizilerinin bir arada çalıştırılmasını sağlayan bir çözüm sunar. Bu dosyalar, Task Scheduler ile entegre edildiğinde, hem işletim sisteminin hem de uygulamaların üzerinde çalıştığı süreçlerin tam anlamıyla optimize edilmesini sağlar. Özellikle büyük ölçekli sistemlerde, tekrarlayan görevlerin otomasyonu, hata riskini azaltır ve iş gücünü daha verimli alanlara yönlendirme fırsatı sunar.
Task Scheduler, kullanıcı dostu bir arayüzle birlikte gelişmiş özelliklere sahiptir. Görevlerin tetikleyicilerle başlatılması, işlemlerin doğru zamanlama ve koşullarda çalışmasını sağlar. Aynı zamanda, yetkilendirme seçenekleri sayesinde, görevlerin yüksek ayrıcalıklarla sorunsuz bir şekilde çalışması mümkündür. Bu tür bir yapılandırma, karmaşık iş akışlarında güvenilir bir çözüm sunar ve sistemdeki yükü dengelemeye yardımcı olur.
.BAT dosyalarının Task Scheduler ile entegre edilmesi, operasyonel süreçlerde kesintisiz bir performans sağlar. Bu yöntem, sadece zaman tasarrufu sağlamakla kalmaz, aynı zamanda kullanıcı müdahalesini minimize ederek sistemin güvenliğini ve tutarlılığını artırır. Modern işletim sistemlerinde bu tür bir yaklaşım, etkin bir otomasyon stratejisinin temel taşlarından biri olarak kabul edilir.
Bundan sonraki adımda ise sıra, oluşturulan .bat dosyasının Task Scheduler'a 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.

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.

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 New... butonuna basıyorum.

2.3- New Action penceresinde Action ve Program/script alanlarını yapılandırıyorum.
2.3.1- Action altında Start a program seçeneğini seçiyorum.


2.3.2- Program/script alanında .bat uzantılı dosyanın yolu gösteriyorum.


2.4- Triggers sekmesinde, Actions sekmesinde zaman planım için dizin yolunu tanımladığım .bat uzantılı dosyanın çalışması için tetiklenme süresini belirlemem gerekiyor. Bunun için öncelikle New... butonuna basıyorum.

2.5- 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.



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

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.



Böylece, TEMP klasörünün Task Scheduler 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.
.BAT dosyası kullanarak bir klasörün içeriğini otomatik olarak silmek, tekrarlayan görevlerin hızlı ve etkili bir şekilde tamamlanmasını sağlar. Bu yöntem, manuel müdahale gereksinimini ortadan kaldırırken, aynı zamanda sistemde düzeni sağlamak için güvenilir bir çözüm sunar. Script'lerin basit ama güçlü yapısı, ihtiyaç duyulan işlemleri zaman kaybı olmadan gerçekleştirme imkanı tanır.
Silme işlemini belirli bir klasörle sınırlandırarak, olası yanlışlıkların önüne geçmek mümkün hale gelir. .BAT dosyasına eklenen komutlar sayesinde, yalnızca belirttiğiniz dizindeki dosyalar hedef alınır ve sistem genelinde bir etki yaratılmaz. Bu, hem güvenlik hem de kontrol açısından önemli bir avantaj sağlar.
Bu makalede ele alınan yöntemler, karmaşık olmayan ama etkili bir çözüm arayanlar için ideal bir yol haritası sunar. İster geçici dosyaların düzenli olarak temizlenmesi, ister sistem optimizasyonu için kullanılsın, bu tür bir yaklaşım, iş yükünü azaltırken operasyonel verimliliği artırmanın pratik bir yoludur.
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.