有什么办法可以使用LINQ命令like this从SearchOption中排除某些目录
string path = "C:\SomeFolder";
var s1 = Directory.GetFiles(path , "*.*", SearchOption.AllDirectories);
var s2 = Directory.GetDirectories(path , "*.*", SearchOption.AllDirectories);
该路径由其中包含某些文件的Sub1和Sub2文件夹组成。我需要从目录搜索中排除它们。
谢谢
这工作:
string[] exceptions = new string[] { "c:\\SomeFolder\\sub1",
"c:\\SomeFolder\\sub2" };
var s1 = Directory.GetFiles("c:\\x86", "*.*",
SearchOption.AllDirectories).Where(d => exceptions.All(e =>
!d.StartsWith(e)));
This帮助了异常
最佳答案
不,据我所知。但是您可以使用非常简单的LINQ在一行中完成此操作。
var s1 = Directory.GetFiles(path , "*.*", SearchOption.AllDirectories).Where(d => !d.StartsWith("<EXCLUDE_DIR_PATH>")).ToArray();
您也可以轻松地组合多个排除DIR。