// Insert logic for processing found files here. public static void ProcessFile(ArguementsModel arguementsModel) { if (!arguementsModel.Path.Contains(arguementsModel.ChangeFrom)) { return; } Directory.Move(arguementsModel.Path, arguementsModel.Path.Replace(Path.GetFileName(arguementsModel.Path), Path.GetFileName(arguementsModel.Path).Replace(arguementsModel.ChangeFrom, arguementsModel.ChangeTo))); Console.WriteLine("Processed file '{0}' To: {1}.", arguementsModel.Path, arguementsModel.Path.Replace(arguementsModel.ChangeFrom, arguementsModel.ChangeTo)); }
public ArguementsConverter(string[] args) { args = new[] { @"C:\cesarc\GitHub\Shared", "Pinnacle.CustomerTeam", "CesarBmx" }; if (args.Length != 3) { throw new ArgumentException("3 args need to be supplied"); } ArguementsModel = new ArguementsModel { Path = args[0], ChangeFrom = args[1], ChangeTo = args[2] }; if (!Directory.Exists(ArguementsModel.Path)) { throw new ArgumentException("Path does not exist."); } }
// Process all files in the directory passed in, recurse on any directories // that are found, and process the files they contain. public static void ProcessDirectory(ArguementsModel arguementsModel) { // Process the list of files found in the directory. var fileEntries = Directory.GetFiles(arguementsModel.Path); foreach (var fileName in fileEntries) { ProcessFile(new ArguementsModel { Path = fileName, ChangeFrom = arguementsModel.ChangeFrom, ChangeTo = arguementsModel.ChangeTo }); } // Recurse into subdirectories of this directory. var subdirectoryEntries = Directory.GetDirectories(arguementsModel.Path); foreach (var subdirectory in subdirectoryEntries) { var directory = subdirectory; if (subdirectory.Contains(arguementsModel.ChangeFrom)) { directory = subdirectory.Replace(Path.GetFileName(subdirectory), Path.GetFileName(subdirectory).Replace(arguementsModel.ChangeFrom, arguementsModel.ChangeTo)); Directory.Move(subdirectory, directory); Console.WriteLine("Processed directory '{0}' To: {1}.", subdirectory, subdirectory.Replace(arguementsModel.ChangeFrom, arguementsModel.ChangeTo)); } ProcessDirectory(new ArguementsModel { Path = directory, ChangeFrom = arguementsModel.ChangeFrom, ChangeTo = arguementsModel.ChangeTo }); } }