基本信息
源码名称:c# 删除给定目录下的过时文件 实例源码
源码大小:0.33M
文件格式:.zip
开发语言:C#
更新时间:2017-03-22
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 5 元×
微信扫码支付:5 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
通过配置路径,和过期时间,去删除指定目录下的过时文件
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;
}
}
}