你需要用一个递归函数来解决,如下:
private void getFilesInDir(String driver)
{
String[] files= Directory.GetFiles(driver,"*.*");
foreach(String file in files)
{
...//do ur job
} String [] directories = Directory.GetDirectories(driver);
foreach(String directory in directories)
{
getProgramsInDir(directory);
}
}
private void getFilesInDir(String driver)
{
String[] files= Directory.GetFiles(driver,"*.*");
foreach(String file in files)
{
...//do ur job
} String [] directories = Directory.GetDirectories(driver);
foreach(String directory in directories)
{
getProgramsInDir(directory);
}
}
ArrayList al=new ArrayList();
DirectoryInfo dinfo=new DirectoryInfo("e:\\abc");
al.Add(dinfo);
int index=0;
while (index<al.Count)
{
dinfo=(DirectoryInfo)al[index];
listBox1.Items.Add(dinfo.Name);
if (dinfo.GetDirectories()!=null)
al.AddRange(dinfo.GetDirectories());
index++;
}