.net 是否可以在directory.GetFiles中指定目录通配符?

.net 是否可以在directory.GetFiles中指定目录通配符?,.net,file,directory,.net,File,Directory,我有一个目录结构要筛选,我需要能够指定顶级文件夹,典型的例子是: c:\folder1\1\targetfolder c:\folder1\2\targetfolder c:\folder1\3\targetfolder c:\folder1\4\targetfolder 我希望获取名为targetfolder的文件夹中的每个文件,并指定此操作似乎失败: Directory.GetFiles("c:\folder1\*\targetfolder"); 有没有一种快速简便的方法可以实现这一点?

我有一个目录结构要筛选,我需要能够指定顶级文件夹,典型的例子是:

c:\folder1\1\targetfolder
c:\folder1\2\targetfolder
c:\folder1\3\targetfolder
c:\folder1\4\targetfolder
我希望获取名为targetfolder的文件夹中的每个文件,并指定此操作似乎失败:

Directory.GetFiles("c:\folder1\*\targetfolder");

有没有一种快速简便的方法可以实现这一点?

尝试过这种方法,但如果根路径中存在具有相同模式的文件或文件夹,则可能会出现误报

var files = Directory.GetFiles("c:\\folder1", "*.*", 
        SearchOption.AllDirectories).Where(n => n.Contains("\\targetfolder\\"));

尝试过这种方法,但如果根路径中有相同模式的文件或文件夹,则可能会出现误报

var files = Directory.GetFiles("c:\\folder1", "*.*", 
        SearchOption.AllDirectories).Where(n => n.Contains("\\targetfolder\\"));

这对我很有效,如果您有名为
targetfolder
或类似文件,则不会产生副作用

Directory.GetDirectories(
    @"c:\folder1\",
    @"targetfolder",
    SearchOption.AllDirectories)
    .SelectMany(dir => Directory.GetFiles(dir, "*", SearchOption.TopDirectoryOnly))

这将获得仅存在于文件夹
c:\folder1\

中名为
targetfolder
的Fodler中的文件。如果您有名为
targetfolder
或类似文件,这对我很有效,并且不会产生副作用

Directory.GetDirectories(
    @"c:\folder1\",
    @"targetfolder",
    SearchOption.AllDirectories)
    .SelectMany(dir => Directory.GetFiles(dir, "*", SearchOption.TopDirectoryOnly))

这将获得仅存在于文件夹
c:\folder1\

中名为
targetfolder
的Fodler中的文件,请尝试**,这是它们在MSBuild中使用的。已尝试**,相同的异常…请尝试**,这是它们在MSBuild中使用的。已尝试**,相同的异常。。。