c# - 获取特定扩展名的文件c#

标签 c# directory filesystems getfiles

我希望获取特定扩展名的所有文件的列表(递归),但以该扩展名结尾的文件。

例如,我希望获取所有带有“.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/

相关文章:

c# - 在 ASP.NET MVC 中通过子操作设置页面标题

c# - 使用 WatiN 使 IE session 过期

AllUsers 的 C# Windows10 启动快捷方式(通过 InstallShield 或 Coding)

tomcat - 从应用程序创建一个新目录

powershell - Powershell:在忽略特定目录的同时递归计算文件

windows - 如何使用 Perl 在 Windows 上检测打开的文件句柄的文件是否已被删除?

.net - 如何通过通常的 System.IO 类访问网络驱动器?

c# - 用户更改系统文化时如何接收事件

java - eclipse | Packge变成一个目录,破坏了我的整个项目

linux - 在 GDB 中创建简单的事件处理程序,如 inotify