public static void DeleteDir(DirectoryInfo dir) { if (dir == null) { throw new NullReferenceException("目录不存在"); } DirectoryInfo[] directories = dir.GetDirectories(); for (int i = 0; i < directories.Length; i++) { DirectoryInfo dir2 = directories[i]; QFileUtils.DeleteDir(dir2); } FileInfo[] files = dir.GetFiles(); for (int j = 0; j < files.Length; j++) { FileInfo fileInfo = files[j]; QFileUtils.DeleteFile(fileInfo.FullName); } dir.Delete(); }
public static bool DeleteDir(string dir, bool onlyDir) { if (dir == null || dir.Trim() == string.Empty) { throw new NullReferenceException("目录dir=" + dir + "不存在"); } if (!Directory.Exists(dir)) { return(false); } DirectoryInfo directoryInfo = new DirectoryInfo(dir); if (directoryInfo.GetFiles().Length == 0 && directoryInfo.GetDirectories().Length == 0) { Directory.Delete(dir); return(true); } if (!onlyDir) { return(false); } QFileUtils.DeleteDir(directoryInfo); return(true); }