using System; using System.IO; using System.Collections.Generic; namespace Program { class MainClass { public delegate void PathDelegate(FileInfo di); ////// Вызывает pd для каждого файла во всех поддиректориях в rd /// /// /// root directory /// static void dirMap(DirectoryInfo rd,MainClass.PathDelegate pd) { FileInfo[] files= null; DirectoryInfo[] subdirs=null; try { files=rd.GetFiles("*"); } catch(Exception ex) { Console.WriteLine("error on "+rd.FullName+": "+ex.ToString()); } if (files!=null) { foreach (FileInfo file in files) { pd(file); } } subdirs=rd.GetDirectories("*"); foreach (DirectoryInfo d in subdirs) { dirMap(d,pd); } } public static void Main (string[] args) { if(args.Length<1){ Console.WriteLine("usage: yatsrobot path"); } Console.WriteLine("scaning "+args[0]); if(Directory.Exists(args[0])){ Console.WriteLine("directory extists"); var di=new DirectoryInfo(args[0]); dirMap(di,x=> Console.WriteLine(x.FullName)); } else{ Console.WriteLine("directory not extists"); return; } } } }
Страницы
понедельник, 10 января 2011 г.
C# DirIterator
сделал такую простую, но нужную мне, штуку:
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий