递归复制文件夹

 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);  
            }  
        }  
    }