void CopyDirectory(CString source, CString target,BOOL overwrite) { CreateDirectory(target,NULL); //创建目标文件夹 CFileFind finder; CString path; path.Format("%s\*.*",source); bool bWorking = finder.FindFile(path); while(bWorking) { bWorking = finder.FindNextFile(); if(finder.IsDirectory() && !finder.IsDots()) { //是文件夹 而且 名称不含 . 或 .. CopyDirectory(finder.GetFilePath(),target+"/"+finder.GetFileName(),overwrite); //递归创建文件夹+"/"+finder.GetFileName() } else{ //是文件 则直接复制 CopyFile(finder.GetFilePath(),target+"/"+finder.GetFileName(),overwrite); } } }