C#实现定时删除日志文件夹及文件夹下文件
在做项目的时候经常会遇到log文件记录太多导致硬盘容量不足,需要手动删除几月前的log文件。其实通过写代码就可以实现该功能。
一般记录log文档时都是按照日期创建文件夹,以下代码可实现删除超过设定天数的文件夹日志
/// <summary>
/// 删除文件夹
/// </summary>
/// <param name=\"fileDirect\"></param>
/// <param name=\"saveDay\"></param>
private void DeleteFile(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); //删除超过时间的文件夹
}
}
}
}
可以将该类放在软件启动时或计时器里,达到定时清除log文件夹功能:
private void timer3_Tick( sender, EventArgs e)
{
DeleteFile(System.Environment.CurrentDirectory + @\"\\log\\\", 1); //删除该目录下 超过 1天的文件
}
以上只是最基础的实现该功能,后续请自行完善。
继续阅读与本文标签相同的文章
-
微软前CEO鲍尔默,会成为下一个库克吗?商业模式错误
2026-05-18栏目: 教程
-
加速4G、5G网络演进 全“芯”展锐出新招
2026-05-18栏目: 教程
-
男朋友说“亲亲”,先别急着回“木马”,这样回撩他一辈子
2026-05-18栏目: 教程
-
使用vim在文件中插入命令执行的输出结果
2026-05-18栏目: 教程
-
技术分享:轻松调试Stream
2026-05-18栏目: 教程
