using UnityEngine; using UnityEditor; using System.IO; using System.Text.RegularExpressions; public class RenameSoundTool { [MenuItem("Tools/Rename Sounds to lowercase", false)] static void NotGetFiltered() { string targetPath = Application.dataPath + "/Res/Sounds"; var count = 0; RenameDir(targetPath, ref count); Debug.Log($"Rename sound files count :{count}"); AssetDatabase.Refresh(); } static void RenameDir(string dir, ref int count) { DirectoryInfo di = new DirectoryInfo(dir); var files = di.GetFiles(); // 遍历这个目录 foreach (var f in files) { //绕过mate文件 if (f.Extension != ".meta") { var m = Regex.Match(f.Name, ".*[A-Z]+.*"); if (m.Success) { File.Delete(Path.Combine(f.Directory.FullName, f.Name + ".meta")); f.MoveTo(Path.Combine(f.Directory.FullName, f.Name.ToLower())); ++count; } } } foreach(var dd in di.GetDirectories()) { RenameDir(dd.FullName, ref count); } } }