码迷,mamicode.com
首页 > 其他好文 > 详细

删除某一路径下所有文件

时间:2017-04-24 00:04:53      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:play   delete   lap   close   eal   each   span   路径   abs   

想删除某一路径之下所有文件:
技术分享

删除文件,Insus.NET 写了2个方法,名称一样,重载而已。

原理简单,即是循环指定路径下所有目录和子目录来进行删除文件。重载的方法,带多一个参数。是想删除几天前的文件,根扰文件的创建日期来判断。

代码高亮的一行,Insus.NET是想这个数据不管使用这个方法,输入一个正数或是负数均可。最终处理为一个负数。

写到这里,你还可以限制不能输入0值。

技术分享
  public static void DeleteAllFiles(string physicalPath)
        {
            DirectoryInfo di = new DirectoryInfo(physicalPath);
            foreach (FileInfo fi in di.GetFiles())
            {
                fi.Delete();
            }

            foreach (DirectoryInfo d in di.GetDirectories())
            {
                DeleteAllFiles(d.FullName);
            }
        }

        public static void DeleteAllFiles(string physicalPath, int days)
        {
            int day = -(Math.Abs(days));

            DirectoryInfo di = new DirectoryInfo(physicalPath);

            foreach (FileInfo fi in di.GetFiles())
            {
                if (fi.CreationTime < DateTime.Now.AddDays(days))
                    fi.Delete();
            }

            foreach (DirectoryInfo d in di.GetDirectories())
            {
                DeleteAllFiles(d.FullName, days);
            }
        }
Source Code



删除某一路径下所有文件

标签:play   delete   lap   close   eal   each   span   路径   abs   

原文地址:http://www.cnblogs.com/insus/p/6754641.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!