删除某一路径下所有文件

想删除某一路径之下所有文件:

删除文件,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



posted @ 2017-04-23 23:23  Insus.NET  阅读(611)  评论(0编辑  收藏  举报