从子目录返回特定文件类型

时间:2015-11-26 03:40:59

标签: c# windows

通过暗示这个调用,我得到了当前目录的名称。我有一个目录中的子目录列表。

Users\Xeon\Documents\Visual Studio2013\Projects\Consolesocket1\Consolesocket1\Data

在此调用之后,我得到名为folder的返回值,该文件夹是其中的子文件夹。这是我想要完成的一项任务。 现在,我如何检索具有特定文件类型

的所选每个子目录中的文件
private void button1_Click(object sender, EventArgs e)
 {
   FolderBrowserDialog folderBrowserDlg = new FolderBrowserDialog();            
   folderBrowserDlg.ShowNewFolderButton = true;            
   DialogResult dlgResult = folderBrowserDlg.ShowDialog();
   if (dlgResult.Equals(DialogResult.OK))
   {               
     textBox1.Text = folderBrowserDlg.SelectedPath;                
     Environment.SpecialFolder rootFolder = folderBrowserDlg.RootFolder;
   }
}
private void button2_Click(object sender, EventArgs e)
{
   string[] extensions = { ".xml", ".ddg" };
   string[] dizi = Directory.GetFiles(textBox1.Text, "*.*", SearchOption.AllDirectories)
                    .Where(f => extensions.Contains(new FileInfo(f).Extension.ToLower())).ToArray();

   string[] dizin = Directory.GetDirectories(textBox1.Text, "P*", SearchOption.TopDirectoryOnly);
   foreach (var i in dizin)
   {
     FileInfo f = new FileInfo(i);
     listBox1.Items.Add(f.Name);
   }
   string[] di = Directory.GetDirectories(textBox1.Text, "S*", SearchOption.TopDirectoryOnly);
   foreach (var z in di)
   {
      FileInfo f = new FileInfo(z);
      listBox1.Items.Add(f.Name);
   }
}

1 个答案:

答案 0 :(得分:0)

您通过指定扩展名并使用
来正确完成了 SearchOption.AllDirections

第一个dizin变量将包含所有文件。