using System; using System.Collections.Generic; using System.IO; namespace GFGEditor { public class FileHelper { /// /// /// /// /// ,路径比须从Asset起,例如"Assets/Res/Effect" /// public static void ForeachFileInDir(string dirPath, List excludeDirs, Action action) { List excludeDirPaths = new List(); if (excludeDirs != null) { foreach (var excDir in excludeDirs) { var t = Environment.CurrentDirectory + "/" + excDir; t = t.Replace('\\', '/'); excludeDirPaths.Add(t); } } var t1 = dirPath.Replace('\\', '/'); if (Directory.Exists(dirPath) && !excludeDirPaths.Contains(t1)) { var files = Directory.GetFiles(dirPath); var dirs = Directory.GetDirectories(dirPath); foreach (var file in files) { action?.Invoke(file); } foreach (var dir in dirs) { ForeachFileInDir(dir, excludeDirs, action); } } } } }