我希望获取特定扩展名的所有文件的列表(递归),但仅以该扩展名结尾的文件。
例如,我希望获取所有带有“.exe”扩展名的文件,如果我有以下文件:
file1.exe , file2.txt.exe , file3.exe.txt , file4.txt.exe1 , file5.txt
我希望获得 1 个文件的列表,即:file1.exe
。
我正在尝试使用以下行:
List<string> theList = Directory.GetFiles(@"C:\SearchDir", "*.exe", SearchOption.AllDirectories).ToList();
但是我得到的是以下三个文件的列表:file1.exe、file2.txt.exe、file4.txt.exe1
有什么想法吗?
最佳答案
试试这个:
var exeFiles = Directory.EnumerateFiles(sourceDirectory,
"*", SearchOption.AllDirectories)
.Where(s => s.EndsWith(".exe") && s.Count( c => c == '.') == 2)
.ToList();
关于c# - 获取特定扩展名的文件c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19836383/