利用递归实现文件的复制和删除
复制首先寻找该文件下的第一个文件,若为文件夹,则创建该文件夹到目标地址, CreateDirectory(szAimDir+fd.cFileName,NULL); //在目标文件夹中创建相应的子文件夹,然后递归该函数,直到找到文件,进行复制,FileCopyTo(szExistDir,szAimDir,fd.cFileName);然后再FindNextFile(hFind,&fd),注意这个函数的返回值是0和1,而if(hFind!=INVALID_HANDLE_VALUE)这个条件是判断hFind是不是-1,所以要注意不能用while(hFind!=INVALID_HANDLE_VALUE),然后FindNextFile(hFind,&fd)进行循环,因为会永远循环,成为死循环。
删除是判断第一个文件是不是文件夹,如果是,则递归这个函数,直到为文件,然后删除,::DeleteFile(temppath);接着退出这个循环,执行递归到文件夹位置,关闭FindClose(hFind); Sleep(50);注意一定要Sleep,不然循环未能执行完就挂了,这时if(RemoveDirectory(DelStr))删除空的文件夹。