2009-10-18 72 views
22

如何在C#中使用通配符列出選定文件夾中包含的文件?如何使用通配符搜索文件列表

+0

你能解釋一下你想做的更好一點嗎? 列出文件名與您的字符串或其他東西相匹配的文件? – ullmark 2009-10-18 12:02:57

回答

58

Directory.GetFiles是你的朋友在這裏:

Directory.GetFiles(@"C:\Users\Me\Documents", "*.docx"); 

,或者遞歸:

Directory.GetFiles(
    @"C:\Users\Me\Documents", 
    "*.docx", 
    SearchOption.AllDirectories); 
+0

一位新朋友! yey! – 2015-11-16 01:11:21

6

你可以做這樣的事情:

string[] files = Directory.GetFiles(@"c:\myfolder", "*.txt", SearchOption.AllDirectories) 
15

使用DirectoryInfo.GetFiles

using System.IO; 

DirectoryInfo folder = new DirectoryInfo(@"C:\foo\bar"); 
if (folder.Exists) // else: Invalid folder! 
{ 
    FileInfo[] files = folder.GetFiles("*.xml"); 

    foreach (FileInfo file in files) 
    { 
     DoSomething(file.FullName); 
    } 
} 
+0

folder.GetFiles()返回一個字符串[]不是FileInfo [],所以這不起作用。非常混亂的新事物!還是我錯過了一個微妙的? – jolyon 2014-12-24 11:44:30

+0

@jolyon:不,不是一個字符串[]。請參閱文檔:http://msdn.microsoft.com/en-us/library/8he88b63%28v=vs.110%29.aspx – 2014-12-29 08:33:46