public override string[] ExtractTargets(string target) { List <string> results = new List <string>(); // get subdirectories and return the ones that aren't ignored if (Directory.Exists(target)) { DirectoryInfo dir = new DirectoryInfo(target); AddFoldersToBeIgnored(dir); dir.GetDirectories() .Select(d => d.FullName) .Each(t => { if (!IgnoreFolders.Contains(t)) { results.Add(t); } }); AddFilesToBeIgnored(dir); dir.GetFiles(Config.TargetFilePattern) .Select(f => f.FullName) .Each(t => { if (!IgnoreFiles.Contains(t)) { results.Add(new FileInfo(t).FullName); } }); } return(results.ToArray()); }
private List <string> GetSubFolders(string rootFolder) { return(Directory.GetDirectories(rootFolder) .Select(Path.GetFileName) .Where(d => !d.StartsWith(".") && !IgnoreFolders.Contains(d, StringComparer.InvariantCultureIgnoreCase)) .OrderBy(d => d, StringComparer.InvariantCultureIgnoreCase) .ToList()); }