【问题标题】:Possible to specify directory path with a wildcard?可以用通配符指定目录路径吗?
【发布时间】:2011-11-09 07:57:21
【问题描述】:

我有以下代码:

foreach (string file in Directory.GetFiles(sourcePath))
{
    // whatever
}

从特定目录获取文件。是否可以使用通配符匹配目录?例如:

c:\test\di*

将匹配目录中的所有文件:

c:\test\dictionary\
c:\test\directory\
c:\test\dig\

我看到您可以将文件过滤器传递给 GetFiles 方法,但这仅适用于文件,而不适用于目录名称。

【问题讨论】:

    标签: c# .net path


    【解决方案1】:

    您有一个overload,它允许您指定搜索模式,或者如果您需要指定搜索选项,则有another overload

    foreach (string directory in Directory.GetDirectories(sourcePath, "di*"))
    {
        // whatever
    }
    

    【讨论】:

    • 我认为这是一个文件过滤器,在指定目录时不允许使用通配符。您的示例不会只获取特定目录中以di 开头的文件吗?
    • @Abe Miessler,不,它与目录名称完美配合。试试我发布的示例:Directory.GetDirectories(@"c:\test", "di*")) 将匹配您在问题中显示的所有目录。
    • 啊,我在看GetFiles 而不是GetDirectories。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2013-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-11
    相关资源
    最近更新 更多