privatevoid timer1_Tick(object sender, EventArgs e) //每隔一段时间触发该函数。
{
DeleteFile("D:/test", 7); //删除该目录下 超过 7天的文件
DeleteDirectory("D:/test",7)//删除目录下超过7天的文件夹
}
privatevoid DeleteFile(string fileDirect, int saveDay)
{
DateTime nowTime = DateTime.Now;//获取当前时间
string[] files = Directory.GetFiles(fileDirect, "*.*", SearchOption.AllDirectories); //获取该目录下所有文件 foreach (string file in files)
{
FileInfo fileInfo = new FileInfo(file);//获取文件目录
TimeSpan t = nowTime - fileInfo.CreationTime; //当前时间 减去 文件创建时间
int day = 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); //删除超过时间的文件夹
}
}
}
}