RenameSound.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using UnityEngine;
  2. using UnityEditor;
  3. using System.IO;
  4. using System.Text.RegularExpressions;
  5. public class RenameSoundTool
  6. {
  7. [MenuItem("Tools/Rename Sounds to lowercase", false)]
  8. static void NotGetFiltered()
  9. {
  10. string targetPath = Application.dataPath + "/Res/Sounds";
  11. var count = 0;
  12. RenameDir(targetPath, ref count);
  13. Debug.Log($"Rename sound files count :{count}");
  14. AssetDatabase.Refresh();
  15. }
  16. static void RenameDir(string dir, ref int count)
  17. {
  18. DirectoryInfo di = new DirectoryInfo(dir);
  19. var files = di.GetFiles();
  20. // 遍历这个目录
  21. foreach (var f in files)
  22. {
  23. //绕过mate文件
  24. if (f.Extension != ".meta")
  25. {
  26. var m = Regex.Match(f.Name, ".*[A-Z]+.*");
  27. if (m.Success)
  28. {
  29. File.Delete(Path.Combine(f.Directory.FullName, f.Name + ".meta"));
  30. f.MoveTo(Path.Combine(f.Directory.FullName, f.Name.ToLower()));
  31. ++count;
  32. }
  33. }
  34. }
  35. foreach(var dd in di.GetDirectories())
  36. {
  37. RenameDir(dd.FullName, ref count);
  38. }
  39. }
  40. }