基本信息
源码名称:c# 删除给定目录下的过时文件 实例源码
源码大小:0.33M
文件格式:.zip
开发语言:C#
更新时间:2017-03-22
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 5 元 
   源码介绍

通过配置路径,和过期时间,去删除指定目录下的过时文件


using Grassinfo.PortPlatfrom.Common;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DeleteOverdueFile
{
    class Program
    {
        static List<string> FileList = new List<string>();
        static void Main(string[] args)
        {
            try
            {
                var path = AppDomain.CurrentDomain.BaseDirectory   @"Config\log4net.config";
                log4net.Config.XmlConfigurator.Configure(new FileInfo(path));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            try
            {
                Log4NetHelper.Info("DeleteOverdueFile Starting ");
                Console.WriteLine("DeleteOverdueFile Starting ");
                DeleteFile();
                Console.WriteLine("DeleteOverdueFile Starting ");
                Log4NetHelper.Info("DeleteOverdueFile Executed ");
            }
            catch (Exception ex)
            {
                Log4NetHelper.Error(ex);
            }
        }

        public static void DeleteFile()
        {
            var paths = ConfigurationManager.AppSettings["PATH"].Split(',');
            foreach (var path in paths)
            {
                DirectoryInfo dir = new DirectoryInfo(path);
                GetAllFiles(dir);
                var list = FileList;
                foreach (var item in list)
                {
                    DirectoryInfo dirchild = new DirectoryInfo(item);
                    var filenum = dirchild.GetFiles();
                    if (filenum.Length > 70)
                    {
                        Console.WriteLine("删除的路径: "   item);
                        Log4NetHelper.Info("删除的路径: "   item);
                        foreach (FileInfo fi in filenum)
                        {
                            if (fi.LastWriteTime < DateTime.Now.AddDays(-7))
                                fi.Delete();
                        }
                    }
                }
            }
        }
        /// <summary>
        /// 递归获取所以的子目录
        /// </summary>
        /// <param name="dir"></param>
        /// <returns></returns>
        public static List<string> GetAllFiles(DirectoryInfo dir)
        {
            FileInfo[] allFile = dir.GetFiles();
            if (allFile.Length > 0)
            {
                FileList.Add(dir.FullName);
            }
            //foreach (FileInfo fi in allFile)
            //{
            //    FileList.Add(fi.Name);
            //}
            DirectoryInfo[] allDir = dir.GetDirectories();
            foreach (DirectoryInfo d in allDir)
            {
                GetAllFiles(d);
            }
            return FileList;
        }
    }
}