zoukankan      html  css  js  c++  java
  • 定期删除文件夹中的文件——C#

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

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

            /// <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 ",*不能省略

     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);
                }
  • 相关阅读:
    什么是Portal!
    Maven 让事情变得简单
    HTTP协议详解
    函数实现不放在头文件的原因,及何时可以放头文件的情况
    Linux中的内存管理(四)Heap
    寿星万年历Lua实现
    TCP epoll触发后只accept一次带来的问题
    生产者消费者问题
    Windows SDK 实现不规则窗口
    论迭代式的产品开发方法
  • 原文地址:https://www.cnblogs.com/eve612/p/14226335.html
Copyright © 2011-2022 走看看