Saat Başı Temp Temizleme

Saat Başı Temp Temizleme

Windows sunucu kullananların en büyük problemlerinden birisi sitelerin oluşturduğu cookielerin temp klasörünü şişirerek scriptin çalışamaz hale gelmesidir.

Özellikle wordpress, joomla vs. gibi çok fazla cookie kulanan scriptler çalıştırıyorsanız bir çok defa cache hatası almışsınızdır. Bizde aynı dertten muzdariptik ve ayda birkaç defa C:\Windows\Temp klasörünü ziyaret ederek co0kieleri temizlemek zorunda kalıyorduk. Bu problemin önüne ufak bir kodlamaylayla geçtik.

Temp Klasörünü Otomatik Temizleme
Temp Klasörünü Otomatik Temizleme

Program çalıştırdığınızda tüm klasörü temizler, ardından saat başı çalışır, yapılan işlemleri raporlar, log tutmaz, kapatıp açtığınızda sıfırdan başlar. Bazı dosya ve klasörleri silmiyor, nededinin bilmiyorum fakat windows veya bir program tarafından kullanılıyor olduğu için silemiyor olabilir.

Programı buradan indirebilirsiniz, ayrıca kaynak kodları da aşağıdadır.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;

namespace Temp
{
public partial class Form1 : Form
{

string yol = “C:\\Windows\\Temp”;
DateTime now;
int Dadet, Kadet;
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
Kadet = 0;
Dadet = 0;
listBox1.ForeColor = Color.Red;
now = DateTime.Now;
listBox1.Items.Clear();
listBox1.Items.Add(now.ToString() + ” İşlem Zamanı”);
ClearFolder(new DirectoryInfo((yol)));
timer1.Enabled = true;
label1.Text = “Son işlem zamanı :” + now.ToString();

}

void ClearFolder(DirectoryInfo diPath)
{

foreach (FileInfo fiCurrFile in diPath.GetFiles())
{
try
{
listBox1.ForeColor = Color.Black;
listBox1.Items.Add(fiCurrFile.ToString() + ” silindi”);
fiCurrFile.Delete();
Dadet++;
}
catch
{ }

}
foreach (DirectoryInfo diSubFolder in diPath.GetDirectories())
{
try
{
listBox1.ForeColor = Color.Black;
listBox1.Items.Add(diSubFolder.ToString() + ” silindi”);
ClearFolder(diSubFolder);
Kadet++;
}
catch
{ }

}

label2.Text = “Toplam silinen :” + Dadet.ToString() + ” Dosya”+ “–“+Kadet.ToString() + ” Klasör”;
}

private void timer1_Tick(object sender, EventArgs e)
{
listBox1.ForeColor = Color.Red;
now = DateTime.Now;
listBox1.Items.Add(now.ToString()+ ” İşlem Zamanı”);
ClearFolder(new DirectoryInfo((yol)));
label1.Text = “Son işlem zamanı :” + now.ToString();
}
}
}

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.