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);
- }
- }
- }
- }
- }
|