internal bool ExcludeFile(FileInfo file) { if (ContainsSearchForFiles) { return(ExcludeFiles.Any(f => file.Name.Contains(f))); } else { return(ExcludeFiles.Contains(file.Name)); } }
public IEnumerable <SlimFileInfo> EnumerateFiles(string filePath, string pattern = "*", SearchOption option = SearchOption.AllDirectories) { Files = Directory.EnumerateFiles(filePath, pattern, option) .Select(x => new SlimFileInfo(x, filePath)); // Exclude files under specified directories (respect directory structure) if (ExcludeDirectories != null && ExcludeDirectories.Any()) { Files = Files.Where(x => !ExcludeDirectories.Any(y => x.MultiplatformRelativeDirectory.StartsWith(y))); } // Exclude specified name files (Just matching filename, ignore directory structure.) if (ExcludeFiles != null && ExcludeFiles.Any()) { Files = Files.Where(x => !ExcludeFiles.Contains(x.FileName)); } return(Files); }