using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace ReplaceVersion { class Program { private static List VirtualDirectories { get { List list = new List(); list.Add("BAAC"); list.Add("PEA"); list.Add("ICC"); list.Add("HND"); list.Add("CPD"); list.Add("PTT"); list.Add("BRH"); list.Add("DOL"); list.Add("GSB"); return list; } } private static List Files { get { List list = new List(); list.Add("ApplicationSelectionPage.aspx"); list.Add("ApplicationSelectionPage.aspx.cs"); list.Add("ApplicationSelectionPage.aspx.designer.cs"); list.Add("Default.aspx"); list.Add("Default.aspx.cs"); list.Add("Default.aspx.designer.cs"); list.Add("Frame.Master"); list.Add("Frame.Master.cs"); list.Add("Frame.Master.designer.cs"); list.Add("FrameDialog.Master"); list.Add("FrameDialog.Master.cs"); list.Add("FrameDialog.Master.designer.cs"); list.Add("Logout.aspx"); list.Add("Logout.aspx.cs"); list.Add("Logout.aspx.designer.cs"); list.Add("Report.Master"); list.Add("Report.Master.cs"); list.Add("Report.Master.designer.cs"); list.Add("ReportDefault.aspx"); list.Add("ReportDefault.aspx.cs"); list.Add("ReportDefault.aspx.designer.cs"); list.Add("Restore.aspx"); return list; } } private static List Directories { get { List list = new List(); list.Add("Css"); list.Add("CustomControl"); list.Add("Documents"); list.Add("Image"); list.Add("js"); list.Add("JsCss"); list.Add("SlipApp"); list.Add("SlipPB"); return list; } } private static List ExcludeFiles { get { List list = new List(); list.Add("band_black.jpg"); return list; } } static void Main(string[] args) { Console.Write("Put virtual directory name: [ALL] "); string readLine = Console.ReadLine(); List vDirs = null; if (string.IsNullOrEmpty(readLine)) { vDirs = VirtualDirectories; } else { vDirs = new List(); vDirs.Add(readLine); } string sourceDir = "C:\\GCOOP_ALL\\CORE\\GCOOP\\Saving\\"; string destinationDir = "C:\\GCOOP_ALL\\{0}\\GCOOP\\Saving\\"; // copy dir for (int v = 0; v < vDirs.Count; v++) { string desDir = string.Format(destinationDir, vDirs[v]); if (!Directory.Exists(desDir)) { Console.WriteLine("Directory " + desDir + " not found."); continue; } for (int d = 0; d < Directories.Count; d++) { string sss = sourceDir + Directories[d]; string ddd = desDir + Directories[d]; CopyDIR(sss, ddd); } } // copy file for (int v = 0; v < vDirs.Count; v++) { string desDir = string.Format(destinationDir, vDirs[v]); if (!Directory.Exists(desDir)) { Console.WriteLine("Directory " + desDir + " not found."); continue; } for (int f = 0; f < Files.Count; f++) { string sss = sourceDir + Files[f]; string ddd = desDir + Files[f]; Console.WriteLine("Copy " + Files[f]); File.Copy(sss, ddd, true); } } Console.WriteLine(" ----------------- exit ----------------- "); string xxx = Console.ReadLine(); } private static bool IsExclude(String fileName) { fileName = fileName.Substring(fileName.LastIndexOf("\\") + 1); for (int i = 0; i < ExcludeFiles.Count; i++) { if (fileName.ToLower() == ExcludeFiles[i].ToLower()) { return true; } } return false; } private static void CopyDIR(string sourceDir, string targetDir) { try { Directory.CreateDirectory(targetDir); } catch { } foreach (var file in Directory.GetFiles(sourceDir)) { if (!IsExclude(file)) { Console.WriteLine("Copy " + file); File.Copy(file, Path.Combine(targetDir, Path.GetFileName(file)), true); } else { Console.WriteLine("Exclude " + file); } } foreach (var directory in Directory.GetDirectories(sourceDir)) { CopyDIR(directory, Path.Combine(targetDir, Path.GetFileName(directory))); } } } }