Can you call Directory.GetFiles() with multiple filters?

前端 未结 26 2403
逝去的感伤
逝去的感伤 2020-11-22 05:25

I am trying to use the Directory.GetFiles() method to retrieve a list of files of multiple types, such as mp3\'s and jpg\'s. I have t

相关标签:
26条回答
  • 2020-11-22 06:11

    i don t know what solution is better, but i use this:

    String[] ext = "*.ext1|*.ext2".Split('|');
    
                List<String> files = new List<String>();
                foreach (String tmp in ext)
                {
                    files.AddRange(Directory.GetFiles(dir, tmp, SearchOption.AllDirectories));
                }
    
    0 讨论(0)
  • 2020-11-22 06:13

    If you have a large list of extensions to check you can use the following. I didn't want to create a lot of OR statements so i modified what lette wrote.

    string supportedExtensions = "*.jpg,*.gif,*.png,*.bmp,*.jpe,*.jpeg,*.wmf,*.emf,*.xbm,*.ico,*.eps,*.tif,*.tiff,*.g01,*.g02,*.g03,*.g04,*.g05,*.g06,*.g07,*.g08";
    foreach (string imageFile in Directory.GetFiles(_tempDirectory, "*.*", SearchOption.AllDirectories).Where(s => supportedExtensions.Contains(Path.GetExtension(s).ToLower())))
    {
        //do work here
    }
    
    0 讨论(0)
提交回复
热议问题