利用递归的方法复制文件夹

递归的方法:

CopyFolderAllFiles(CString csSourceFolder, CString csNewFolder)
{
    CFileFind f;
    BOOL bFind=f.FindFile(csSourceFolder+"//*.*");
    while(bFind)
    {
        bFind = f.FindNextFile();
        TRACE(_T("%s/r/n"),f.GetFileName());

        if(f.IsDots()) continue;
        if(f.IsDirectory())
        {
          _mkdir(csNewFolder+"//"+f.GetFileName());  //非链接,网页误解了
          CopyFolderAllFiles(csSourceFolder+"//"+f.GetFileName(),csNewFolder+"//"+f.GetFileName());
        }
        ::SetFileAttributes(csSourceFolder+"//"+f.GetFileName(),FILE_ATTRIBUTE_NORMAL);
        ::AfxGetApp()->DoWaitCursor(1);
        ::CopyFile(csSourceFolder+"//"+f.GetFileName(),csNewFolder+"//"+f.GetFileName(),FALSE);
        ::AfxGetApp()->DoWaitCursor(-1);

    }
}
 

你可能感兴趣的:(File)