Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 备份文件名的搜索模式_C# - Fatal编程技术网

C# 备份文件名的搜索模式

C# 备份文件名的搜索模式,c#,C#,我可以使用什么样的搜索模式来处理Directory.GetFiles(rootFolderPath,fileSearchPattern)返回所有具有someName.xxx.txt的文件,其中xxx是一个序列号,如001、002、003等。基本上,如果文件不是以*.txt结尾,而是具有*.txt类型的名称,我想获取它 filename.001.txt filename.002.txt filename.010.txt…等 如果您要查找的文件名中包含,而该文件名不是扩展名的一部分,那么我建议不要在

我可以使用什么样的搜索模式来处理
Directory.GetFiles(rootFolderPath,fileSearchPattern)
返回所有具有
someName.xxx.txt
的文件,其中
xxx
是一个序列号,如001、002、003等。基本上,如果文件不是以
*.txt
结尾,而是具有
*.txt
类型的名称,我想获取它

filename.001.txt
filename.002.txt

filename.010.txt
…等

如果您要查找的文件名中包含
,而该文件名不是扩展名的一部分,那么我建议不要在模式搜索中使用
GetFiles
方法,因为模式传递到Windows API的方式会与文件名中的句点混淆。相反,您可以使用Linq和Regex进行过滤,如下所示:

var regexPattern = @".*\.\d{3}\.txt";

var files = Directory.GetFiles(@"C:\Users\wired\Documents")
    .Where(f => Regex.IsMatch(f, regexPattern));

你试过“.txt”吗?对我来说似乎很合理。@konrad您认为
GetFiles
中的模式比“获取所有文件”列表然后进行筛选快吗?@Johnnymop抱歉,“.txt”不会产生任何结果。谢谢你的建议。@LeiYang我可能不得不这么做。下面的其他人也在建议这一点。谢谢