如何在列表和特定父目录中获取具有特定扩展名的文件列表

本文关键字:列表 获取 扩展名 文件 | 更新日期: 2023-09-27 18:34:07

>我有两个枚举,用于保存搜索中的有效扩展名列表,另一个枚举用于保存我要搜索文件的有效目录列表。这是我的代码:

 var ext = folder.IncludedExt;//type enum
 var subdirectories = folder.IncludeSubfolder;//type enum
 var myFiles = dir1.GetFiles("*.*", System.IO.SearchOption.AllDirectories).
          Where(file => ext.Any(x => file.Name.EndsWith(x.ToString(), StringComparison.OrdinalIgnoreCase)) );
我正在

尝试使用这些行,我正在获取具有正确扩展名的文件列表,但我不知道如何仅获取子目录列表中具有目录属性的文件。

请帮忙,提前感谢;

如何在列表和特定父目录中获取具有特定扩展名的文件列表

也许您可以考虑使用 LINQ Select 语句返回 FileInfo 的列表。然后,附加"Where"过滤器,您可以查询文件的扩展名(而不是endsWith condition)。Finnaly,您将以一个 fileInfo 列表结束,该列表包含的数据比文件路径多得多。这有帮助吗?

终于找到了

  list1 = dir1.GetFiles("*.*", System.IO.SearchOption.AllDirectories).ToList().
                       Where(file => ext.Any(x => file.Name.EndsWith(x.ToString(),
                       StringComparison.OrdinalIgnoreCase)) &&
                       subdirectories.Any(x => file.Directory.Name.Equals(x.ToString(), StringComparison.OrdinalIgnoreCase))).ToList();