static void CopyFile(string sources, string dest)
{
DirectoryInfo dinfo = new DirectoryInfo(sources);
//注,這裡面傳的是路徑,并不是檔案,是以不能保含帶字尾的檔案
foreach (FileSystemInfo f in dinfo.GetFileSystemInfos())
{
//目标路徑destName = 目标檔案夾路徑 + 原檔案夾下的子檔案(或檔案夾)名字
//Path.Combine(string a ,string b) 為合并兩個字元串
String destName = Path.Combine(dest, f.Name);
if (f is FileInfo)
{
//如果是檔案就複制
File.Copy(f.FullName, destName, true);//true代表可以覆寫同名檔案
}
else
//如果是檔案夾就建立檔案夾然後複制然後遞歸複制
Directory.CreateDirectory(destName);
CopyFile(f.FullName, destName);
}