C#实现定时删除日志文件夹及文件夹下文件

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(object sender, EventArgs e)
    {
        DeleteFile(System.Environment.CurrentDirectory + @"\log\", 1); //删除该目录下 超过 1天的文件
    }

以上只是最基础的实现该功能,后续请自行完善。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值