기술나눔

[C#] 폴더와 하위 폴더를 탐색하여 접미사 파일 지정

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

  1. /// <summary>
  2. /// 遍历文件夹及其子文夹中指定后缀文件
  3. /// </summary>
  4. /// <param name="rootDirectory">文件夹路径</param>
  5. /// <param name="searchPattern">文件后缀</param>
  6. /// <returns></returns>
  7. public static List<string> SearchFiles(string rootDirectory, string searchPattern)
  8. {
  9. List<string> filePaths = new List<string>();
  10. // 使用Queue处理待处理的子目录
  11. Queue<string> queue = new Queue<string>(Directory.GetDirectories(rootDirectory));
  12. while (queue.Count > 0)
  13. {
  14. string currentDir = queue.Dequeue();
  15. // 将当前目录中符合搜索模式的文件路径添加到结果列表中
  16. string[] files = Directory.GetFiles(currentDir, searchPattern);
  17. filePaths.AddRange(files);
  18. // 将当前目录的子目录加入队列,以便进一步搜索
  19. foreach (string subDir in Directory.GetDirectories(currentDir))
  20. {
  21. queue.Enqueue(subDir);
  22. }
  23. }
  24. return filePaths;
  25. }