//=========================================================================================

不取得子目錄的話用這個:

string[] dirs = Directory.GetDirectories(@"c:\");//路徑
foreach (string dir in dirs)
{
  Console.WriteLine(dir);
}

文件的話把GetDirectories改成GetFiles

如果要遞歸的話,就是想取得此目錄下所有子目錄和文件的辦法用這個:

public void FindFile(string dir)             //參數為指定的目錄
{  
  //在指定目錄及子目錄下查找文件,在listBox1中列出子目錄及文件
  DirectoryInfo Dir=new DirectoryInfo(dir);

  try
  {
    foreach(DirectoryInfo d in Dir.GetDirectories())  //查找子目錄 
    {
      FindFile(Dir+d.ToString()+"\\");
      listBox1.Items.Add(Dir+d.ToString()+"\\");   //listBox1中填加目錄名
    }

    foreach(FileInfo f in Dir.GetFiles("*.*"))      //查找文件
    {
      listBox1.Items.Add(Dir+f.ToString());  //listBox1中填加文件名
    }
  }
  catch(Exception e)
  {
    MessageBox.Show(e.Message);
  }
}

調用
private void button1_Click(object sender, System.EventArgs e)
{
  string currentdir="c:\\testfolder";  //搜索的目錄
  if(currentdir[currentdir.Length-1]!='\\') //非根目錄
  currentdir+="\\"; 
  FindFile(currentdir);  //調用查找文件函數
}

注意 using System.IO;
//=========================================================================================

arrow
arrow
    全站熱搜

    createps 發表在 痞客邦 留言(0) 人氣()