public static List<string> DirectorySearch(string rootDir, params string[] filters)
{
var fileList = new List<string>();
foreach (var filter in filters)
fileList.AddRange(Directory.GetFiles(rootDir, filter));
foreach (var dir in Directory.GetDirectories(rootDir))
fileList.AddRange(DirectorySearch(dir, filters));
return fileList;
}