コード例 #1
0
ファイル: Common.cs プロジェクト: neilmayhew/pathway
		/// <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
					{
					}
				}
			}


		}