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