privatevoidtimer1_Tick(object sender, EventArgs e) //每隔一段时间触发该函数。
{
DeleteFile("D:/test",7);//删除该目录下 超过 7天的文件
DeleteDirectory("D:/test",7)//删除目录下超过7天的文件夹
}
privatevoidDeleteFile(stringfileDirect,int saveDay)
{
DateTime nowTime = DateTime.Now;
string[] files = Directory.GetFiles(fileDirect,"*.*", SearchOption.AllDirectories);//获取该目录下所有文件 foreach(stringfilein files)
{
FileInfo fileInfo =new FileInfo(file);
TimeSpan t = nowTime - fileInfo.CreationTime;//当前时间 减去 文件创建时间
intday = t.Days;
if(day > saveDay)//保存的时间 ; 单位:天
{
File.Delete(file);//删除超过时间的文件
}
}
}
private void DeleteDirectory(string fileDirect, int saveDay)
{
DateTime nowTime = DateTime.Now;
DirectoryInfo root = new DirectoryInfo(fileDirect);
DirectoryInfo[] dics = root.GetDirectories();//获取文件夹
FileAttributes attr = File.GetAttributes(fileDirect);
if (attr == FileAttributes.Directory)//判断是不是文件夹
{
foreach (DirectoryInfo file in dics)//遍历文件夹
{
TimeSpan t = nowTime - file.CreationTime; //当前时间 减去 文件创建时间
int day = t.Days;
if (day > saveDay) //保存的时间 ; 单位:天
{
Directory.Delete(file.FullName, true); //删除超过时间的文件夹
}
}
}
}