public static void Delete(DirectoryInfo diTarget, string fileFilter, string directoryFilter, bool force) { DirectoryXDeleteArgs args = new DirectoryXDeleteArgs(); args.Target = diTarget; args.Force = force; if (fileFilter != null && fileFilter != string.Empty) { args.FileFilters.Add(fileFilter); } args.DirectoryFilters.Add((directoryFilter != null && directoryFilter != string.Empty) ? directoryFilter : "*"); Delete(args); }
public static void Delete(DirectoryXDeleteArgs args) { List <DirectoryInfo> diList = new List <DirectoryInfo>(); List <FileInfo> fiList = new List <FileInfo>(); try { if (args.DirectoryFilters.Count == 0) { args.DirectoryFilters.Add("*"); } ///// Add Target Directory to List ///// diList.Add(args.Target); ///// First Section: Get Folder/File Listing ///// Load(args, diList, fiList); ///// Second Section: Delete Files ///// if (fiList.Count > 0) { foreach (FileInfo fi in fiList) { if (fi.IsReadOnly && args.Force) { fi.Attributes = fi.Attributes & (~FileAttributes.ReadOnly); } fi.Delete(); } } else { diList.Remove(args.Target); foreach (DirectoryInfo di in diList) { if (di.Exists) { di.Delete(true); } } } } catch { throw; } }
public static void Delete(DirectoryXDeleteArgs args) { List<DirectoryInfo> diList = new List<DirectoryInfo>(); List<FileInfo> fiList = new List<FileInfo>(); try { if (args.DirectoryFilters.Count == 0) { args.DirectoryFilters.Add("*"); } ///// Add Target Directory to List ///// diList.Add(args.Target); ///// First Section: Get Folder/File Listing ///// Load(args, diList, fiList); ///// Second Section: Delete Files ///// if (fiList.Count > 0) { foreach (FileInfo fi in fiList) { if (fi.IsReadOnly && args.Force) { fi.Attributes = fi.Attributes & (~FileAttributes.ReadOnly); } fi.Delete(); } } else { diList.Remove(args.Target); foreach (DirectoryInfo di in diList) { if (di.Exists) { di.Delete(true); } } } } catch { throw; } }