前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >定期删除文件夹中的文件——C#

定期删除文件夹中的文件——C#

作者头像
vv彭
发布2021-01-05 14:39:33
2.2K0
发布2021-01-05 14:39:33
举报
文章被收录于专栏:c#学习笔记c#学习笔记

下面是自定义的一个函数,参数分别为:文件夹名称、文件后缀、保存天数

逻辑是获取当前系统的时间,和文件创建时间去作差,如果结果大于保存天数,就删除它

代码语言:javascript
复制
        /// <summary>
        /// 定期清除文件
        /// </summary>
        /// <param name="fileDirect">文件夹</param>
        /// <param name="postFix">文件后缀</param>
        /// <param name="saveDay">保存天数</param>
        private void DeleteFile(string fileDirect, string postFix, int saveDay)

        {
            DateTime nowtime = DateTime.Now; //获取当前时间
            string[] files = Directory.GetFiles(fileDirect, postFix, SearchOption.AllDirectories);  //获取该目录下所有 .txt文件
            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);  //删除超过时间的文件
                }
            }
        }

调用如下:

我把文件夹路径存到ini文件中,首先读出路径

同样把保存天数存到ini文件中(存的是控件ridiobutton的索引值,具体操作点击这里),然后读出索引值再使用switch来解析索引值对应的天数

最后调用删除文件的函数,这里删除的是excel表格,注意格式为" *.xls ",*不能省略

代码语言:javascript
复制
 pathLast = @"\" + day + ".xls"; //文件名
            pathHeard = Ini.IniReadValue("配置文件", "path"); //文件夹
            path = pathHeard + pathLast; //文件路径

            string deleteDay = Ini.IniReadValue("清除文件", "day"); //定期删除文件天数
            int deleteDayValue = -1;
            switch (deleteDay)
            {
                case "4":
                    deleteDayValue = -1;
                    break;
                case "3":
                    deleteDayValue = 3;
                    break;
                case "2":
                    deleteDayValue = 7;
                    break;
                case "1":
                    deleteDayValue = 15;
                    break;
                case "0":
                    deleteDayValue = 30;
                    break;
                default:
                    break;
            }

            if (deleteDayValue >= 0)
            {
                DeleteFile(pathHeard, "*.xls", deleteDayValue);
            }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-01-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档