删除某一路径下所有文件

Posted Insus.NET

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除某一路径下所有文件相关的知识,希望对你有一定的参考价值。

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

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



以上是关于删除某一路径下所有文件的主要内容,如果未能解决你的问题,请参考以下文章