Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.IO;
- using System.Linq;
- namespace CardboardBox.Cli
- {
- class Program
- {
- private static string[] IgnoreDirectories = new[] { "bin", "obj", ".git", ".vs", "Release", "Debug", "node_modules" };
- static void Main(string[] args)
- {
- var path = args[0];
- var replacer = args[1];
- var replacement = args[2];
- MoveDirectories(path, replacer, replacement);
- HandleFiles(path, replacer, replacement);
- }
- private static void MoveDirectories(string path, string replacer, string replacement)
- {
- var directories = Directory.GetDirectories(path);
- foreach (var directory in directories)
- {
- if (ContainsIgnore(directory))
- continue;
- Console.WriteLine("Directory Check: " + directory);
- if (directory.Contains(replacer))
- {
- Directory.Move(directory, directory.Replace(replacer, replacement));
- }
- }
- }
- private static bool ContainsIgnore(string path)
- {
- return IgnoreDirectories.Any(t => path.Contains(t));
- }
- private static string[] GetFiles(string sourceFolder, string filters, SearchOption searchOption)
- {
- return filters.Split('|').SelectMany(filter => Directory.GetFiles(sourceFolder, filter, searchOption)).ToArray();
- }
- private static void HandleFiles(string path, string replacer, string replacement)
- {
- var files = GetFiles(path, "*.cs|*.csproj|*.sln", SearchOption.AllDirectories);
- Console.WriteLine("Checking Files: " + files.Length);
- foreach(var file in files)
- {
- if (ContainsIgnore(file))
- continue;
- Console.WriteLine("File Check: " + file);
- var data = File.ReadAllText(file);
- if (data.Contains(replacer))
- File.WriteAllText(file, data.Replace(replacer, replacement));
- if (file.Contains(replacer))
- File.Move(file, file.Replace(replacer, replacement));
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement