如何通过部分名称找到文件? C#

时间:2017-04-11 15:20:10

标签: c#

目前在查找某个目录中的文件时使用Directory.EnumerateFiles,我需要在文件名中包含“access”一词的所有文件。我知道您可以按起始字符或结束字符或部分名称进行过滤,如下所示:

var txtFiles = Directory.EnumerateFiles(sourceDirectory, partialName , SearchOption.AllDirectories);

foreach (string currentFile in txtFiles)
{
    readFile(currentFile);
}

但是,由于文件名如下所示:3492_access_log_76,因此技术上部分文件名为:3492_access_log_76,因此它不会获取访问权限。

是否有办法甚至连一系列字母,例如'acc'?

2 个答案:

答案 0 :(得分:2)

使用通配符。 "*access*"将获取包含“access”一词的每个文件。

答案 1 :(得分:1)

第二个参数是搜索模式。您应该使用通配符来构建所需的模式。例如。如果您的部分名称无论如何都会出现在文件名中,您应该在部分名称之前和之后添加*个字符:

var partialName = "*access*"; // or "*acc*" if you want less precise search

*表示任意数量的任何字符