Как задать глубину просмотра подпапок при поиске файлов? - C#
Формулировка задачи:
Друзья,
нигде не могу найти алгоритм поиска файлов с заданной глубиной. Задача - реализовать поиск определенных файлов в определенной папке. Программа может итерационно, на произвольную глубину сканировать все папки, вложенные в папку поиска.
На всю глубину с рекурсией без проблем делается, а если мы хотим например углубляться в поиске не более чем на 2 уровня вложенности? А не на всю глубину.
Решение задачи: «Как задать глубину просмотра подпапок при поиске файлов?»
textual
Листинг программы
private static void recoursesearch(string searchpath, string mask, uint depth, uint count) { try { foreach (string dir in Directory.GetDirectories(searchpath)) { //Console.WriteLine("-----------------" + dir + "-----------------"); try { foreach (string s in Directory.GetFiles(dir,mask)) { Console.WriteLine(Path.GetFileName(s)); //File.Copy(s, Path.Combine(Environment.CurrentDirectory, "Copied_files", Path.GetFileName(s))); } } catch (Exception Error) { Console.WriteLine(Error.Message); } /// depth — глубина поиска. 0 — поиск только в текущем каталоге /// count — итерация поиска if (depth == count) return; //Рекурсия recoursesearch(dir, mask, depth, ++count); } } catch (Exception Error) { Console.WriteLine(Error.Message); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д