static List list = new List();//定義list變量,存放擷取到的路徑
public static List getPath(string path)
{
DirectoryInfo dir = new DirectoryInfo(path);
FileInfo[] fil = dir.GetFiles();
DirectoryInfo[] dii = dir.GetDirectories();
foreach (FileInfo f in fil)
{
list.Add(f.FullName);//添加檔案的路徑到清單
}
//擷取子檔案夾内的檔案清單,遞歸周遊
foreach (DirectoryInfo d in dii)
getPath(d.FullName);
list.Add(d.FullName);//添加檔案夾的路徑到清單
return list;
}
調用此函數需要傳入指定的檔案夾路徑,如 D:\MyFile .可以将該檔案夾下的檔案和子檔案夾路徑全部擷取,并利用遞歸,擷取子檔案夾内所有内容。
擷取檔案:
String path = @"X:\xxx\xxx";
//第一種方法
var files = Directory.GetFiles(path, "*.txt");
foreach (var file in files)
Console.WriteLine(file);
//第二種方法
DirectoryInfo folder = new DirectoryInfo(path);
foreach (FileInfo file in folder.GetFiles("*.txt"))
{
Console.WriteLine(file.FullName);
}