/// <summary> /// Delete all files in the folder except output /// </summary> /// <param name="outputFolder">Export folder path</param> /// <param name="extension"> </param> /// <param name="nameLike"> </param> /// <param name="directory"> </param> public static void CleanupExportFolder(string outputFolder, string extension, string nameLike, string directory) { //#if (DEBUG) // return; //#endif List<string> lstExtn = new List<string>(); List<string> lstNamelike = new List<string>(); List<string> lstDirecorylike = new List<string>(); if (extension.Trim().Length > 0) { string[] extn = extension.Split(','); lstExtn.AddRange(extn); } if (nameLike.Trim().Length > 0) { string[] name = nameLike.Split(','); lstNamelike.AddRange(name); } if (directory.Trim().Length > 0) { string[] folder = directory.Split(','); lstDirecorylike.AddRange(folder); } outputFolder = Path.GetDirectoryName(outputFolder); string[] filePath = Directory.GetFiles(outputFolder); foreach (string file in filePath) { try { string type = Path.GetExtension(file).ToLower(); if (lstExtn.Contains(type)) { File.Delete(file); } string fi = Path.GetFileNameWithoutExtension(file).ToLower(); foreach (string filelike in lstNamelike) { if (fi.Contains(filelike.Trim().ToLower())) { File.Delete(file); } } if (type == ".css" && !fi.ToLower().Contains("merged")) { File.Delete(file); } } catch { } } string[] FolderList = Directory.GetDirectories(outputFolder); foreach (string folderName in FolderList) { if (lstDirecorylike.Contains(Path.GetFileName(folderName))) { try { Directory.Delete(folderName, true); } catch { } } } }