C# - SearchOption.AllDirectories 但不在某些文件夹中

C# - SearchOption.AllDirectories but not in certain folders

我想用这个 Directory.GetFiles(source, file, SearchOption.AllDirectories))

但不要在特定文件夹中搜索。

我该如何管理?谢谢!

使用 GetFilesSearchOption.AllDirectories 将搜索所有目录。如果您不担心搜索所有目录的性能影响,而只想过滤结果,您可以这样做:

var pathsToAvoid = new List<string> { @"c:\public\temp\", @"c:\public\media\" };

var files = Directory.GetFiles(@"c:\public\", "temp.txt", SearchOption.AllDirectories)
    .Where(filePath => !pathsToAvoid.Any(path =>
    filePath.StartsWith(path, StringComparison.OrdinalIgnoreCase)));

否则,您需要一次手动搜索您关心的目录。