| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | using System;using System.Collections.Generic;using System.IO;namespace GFGEditor{    public class FileHelper    {        /// <summary>        ///         /// </summary>        /// <param name="dirPath"></param>        /// <param name="excludeDirs"></param>,路径比须从Asset起,例如"Assets/Res/Effect"        /// <param name="action"></param>        public static void ForeachFileInDir(string dirPath, List<string> excludeDirs, Action<string> action)        {            List<string> excludeDirPaths = new List<string>();            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);                }            }        }    }}
 |