如何在C#控制台应用程序中过滤文件类型,例如.exe

时间:2014-01-07 15:51:12

标签: c#

大家好我是C#的新手,想知道如何编写可以查看C:\Windows文件路径的C#控制台应用程序,然后用户可以通过文本输入过滤掉他们想要的文件类型!

评论添加的代码:

string path = "C:\\Windows";
var result = new List<string>();
string[] extensions = { ".exe", ".jpg", ".win" }; 
foreach (string file in Directory.EnumerateFiles(path, ".", SearchOption.AllDirectories)       
    .Where(s => extensions.Any(ext => ext == Path.GetExtension(s)))) 
{ 
    result.Add(file);
    Console.WriteLine(file); 
    Console.ReadLine(); 
}

3 个答案:

答案 0 :(得分:1)

使用Directory.GetFiles(string path, string searchPattern)列出目录中的所有文件。 searchPattern参数可以像DOS中的*.txt命令一样使用*.*he*.*DIR

您可以使用Console.ReadLine()让用户输入搜索模式。

答案 1 :(得分:0)

查看c#中的Directory类。它可以返回具有特定文件扩展名的所有文件的数组

答案 2 :(得分:0)

非常简单的例子让你开始,但将来告诉我们你先尝试过的。

void Main()
{
    String filter = String.Empty;

    // prompt the user for a pattern (.e.g. "*.exe")
    Console.Write("filter: ");
    filter = Console.ReadLine();

    // create a reference to the C:\Windows directory
    DirectoryInfo root = new DirectoryInfo(
      //fancy way for referencing %windir%
      Environment.GetFolderPath(Environment.SpecialFolder.Windows)
    );

    // find all files matching ht epattern the user typed in
    FileInfo[] executables = root.GetFiles(filter);

    // iterate over them
    foreach (var exe in executables)
    {
      // and print the name of each match
        Console.WriteLine(exe.Name);
    }
}