2011-06-25 3 views
1

メソッドの外をフィルタリングしようとしているため、接頭辞が "FF-"のファイルのみが返されます。このようC#でディレクトリをリストするときにファイルをフィルタリングする方法

DirectoryInfo dinfo = new DirectoryInfo(@"C:\Windows\system32\tasks"); 
      FileInfo[] Files = dinfo.GetFiles("*.*"); 
      foreach (FileInfo file in Files) 
      { 
       listBox1.Items.Add(file.Name); 
      } 
+0

あなたが* '知っている、オンリー.txtファイルの検索パターン"FF-*" -or "FF-*.txt"を適用することができます。 * 'は' * 'と同じですが、そうですか? – Gabe

+0

ファイルパスのみを処理する場合は、directoryInfo.GetFilesの代わりにDirectory.GetFilesを使用します。 –

答えて

2

を次のように

私のコードはありますか?

FileInfo[] Files = dinfo.GetFiles("FF-*.*"); 

Directory.GetFiles Method

引用:たとえば

* - Zero or more characters. 
? - Exactly zero or one character. 

、文字 "T" で終わるパス 内のすべての名前のためのsearchPattern文字列 "* T" を検索します。 のsearchPattern文字列 "s *"は、 の文字を、 文字 "s"で始まるすべての名前で検索します。

0

これを試してみましたか?

FileInfo[] Files = dinfo.GetFiles("FF-*.*"); 
1

ただしファイルパスのみを取得したい場合は、その後Directory.GetFilesを使用すると、より良い選択

string[] files = Directory.GetFiles(@"C:\Windows\system32\tasks", "FF-*.*"); 

foreach (string filePath in Files) 
{ 
    listBox1.Items.Add(file.Name); 
}