// 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));
        }
Esempio n. 2
0
        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
                });
            }
        }