Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3. using System.Linq;
  4.  
  5. namespace CardboardBox.Cli
  6. {
  7. class Program
  8. {
  9. private static string[] IgnoreDirectories = new[] { "bin", "obj", ".git", ".vs", "Release", "Debug", "node_modules" };
  10.  
  11. static void Main(string[] args)
  12. {
  13. var path = args[0];
  14. var replacer = args[1];
  15. var replacement = args[2];
  16.  
  17. MoveDirectories(path, replacer, replacement);
  18. HandleFiles(path, replacer, replacement);
  19. }
  20.  
  21. private static void MoveDirectories(string path, string replacer, string replacement)
  22. {
  23. var directories = Directory.GetDirectories(path);
  24. foreach (var directory in directories)
  25. {
  26. if (ContainsIgnore(directory))
  27. continue;
  28.  
  29. Console.WriteLine("Directory Check: " + directory);
  30. if (directory.Contains(replacer))
  31. {
  32. Directory.Move(directory, directory.Replace(replacer, replacement));
  33. }
  34. }
  35. }
  36.  
  37. private static bool ContainsIgnore(string path)
  38. {
  39. return IgnoreDirectories.Any(t => path.Contains(t));
  40. }
  41.  
  42. private static string[] GetFiles(string sourceFolder, string filters, SearchOption searchOption)
  43. {
  44. return filters.Split('|').SelectMany(filter => Directory.GetFiles(sourceFolder, filter, searchOption)).ToArray();
  45. }
  46.  
  47. private static void HandleFiles(string path, string replacer, string replacement)
  48. {
  49. var files = GetFiles(path, "*.cs|*.csproj|*.sln", SearchOption.AllDirectories);
  50. Console.WriteLine("Checking Files: " + files.Length);
  51.  
  52. foreach(var file in files)
  53. {
  54. if (ContainsIgnore(file))
  55. continue;
  56.  
  57. Console.WriteLine("File Check: " + file);
  58. var data = File.ReadAllText(file);
  59. if (data.Contains(replacer))
  60. File.WriteAllText(file, data.Replace(replacer, replacement));
  61.  
  62. if (file.Contains(replacer))
  63. File.Move(file, file.Replace(replacer, replacement));
  64. }
  65. }
  66. }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement