參考代碼
/// <summary>
/// 拷貝檔案夾
/// </summary>
/// <param name="srcPath">需要被拷貝的檔案夾路徑</param>
/// <param name="tarPath">拷貝目标路徑</param>
private void CopyFolder(string srcPath, string tarPath)
{
if (!Directory.Exists(srcPath))
{
Debug.Log("CopyFolder is finish.");
return;
}
if (!Directory.Exists(tarPath))
{
Directory.CreateDirectory(tarPath);
}
//獲得源檔案下所有檔案
List<string> files = new List<string>(Directory.GetFiles(srcPath));
files.ForEach(f =>
{
string destFile = Path.Combine(tarPath, Path.GetFileName(f));
File.Copy(f, destFile, true); //覆寫模式
});
//獲得源檔案下所有目錄檔案
List<string> folders = new List<string>(Directory.GetDirectories(srcPath));
folders.ForEach(f =>
{
string destDir = Path.Combine(tarPath, Path.GetFileName(f));
CopyFolder(f, destDir); //遞歸實作子檔案夾拷貝
});
}