文件夹的复制和删除

 利用递归实现文件的复制和删除

复制首先寻找该文件下的第一个文件,若为文件夹,则创建该文件夹到目标地址, 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))删除空的文件夹。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值