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

时间:2017-04-05 19:22:22

标签: c# subdirectory

我想使用此Directory.GetFiles(source, file, SearchOption.AllDirectories))

但请勿在特定文件夹中搜索。

我该如何管理?谢谢!

1 个答案:

答案 0 :(得分:2)

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)));

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