目前在查找某个目录中的文件时使用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'?
答案 0 :(得分:2)
使用通配符。 "*access*"
将获取包含“access”一词的每个文件。
答案 1 :(得分:1)
第二个参数是搜索模式。您应该使用通配符来构建所需的模式。例如。如果您的部分名称无论如何都会出现在文件名中,您应该在部分名称之前和之后添加*
个字符:
var partialName = "*access*"; // or "*acc*" if you want less precise search
*
表示任意数量的任何字符