文件夹删除 文件夹复制

文件夹删除:

bool DeleteFolder(string filepath)
{
    int len = (int)filepath.length();
    int i = 0;
    for (auto it = filepath.end(); it != filepath.begin(); )
    {
        if ('\\' == *(--it))
        {
            i++;
            break;
        }
        i++;
    }
    string path = filepath.substr(0,len - i);
    CString DirName = path.c_str();
    CString PUBPATH;
    PUBPATH = DirName;
    CFileFind tempFind;
    DirName += "\\*.*";
    BOOL IsFinded = (BOOL)tempFind.FindFile(DirName);
    while(IsFinded)
    {
        IsFinded = (BOOL)tempFind.FindNextFile();
        if(!tempFind.IsDots())
        {
            string strDirName;
            strDirName += PUBPATH;
            strDirName += "\\";
            strDirName += tempFind.GetFileName();
            if(tempFind.IsDirectory())
            {
                DeleteFolder(strDirName + "\\");
            }
            else
            {
                SetFileAttributes(_T(strDirName.c_str()),FILE_ATTRIBUTE_NORMAL); 
                DeleteFile(_T(strDirName.c_str()));
            }
        }
    }
    tempFind.Close();
    if(!RemoveDirectory(PUBPATH))
    {
        return false ;
    }
    return true;
}
</pre><strong>文件夹复制:</strong></div><div><pre name="code" class="cpp">void CopyFileDirectory(CString source, CString target)
{
    CreateDirectory(target, NULL); 
    CFileFind finder;  
    CString path;  
    path.Format("%s/*.*", source); 
    BOOL haveFile = finder.FindFile(path);  
    while(haveFile)
    {
        haveFile = finder.FindNextFile(); 
        if(finder.IsDirectory() && !finder.IsDots())
        { 
            CopyFileDirectory(finder.GetFilePath(), target + "/" + finder.GetFileName());
        }  
        else
        { 
            CopyFile(finder.GetFilePath(), target + "/" + finder.GetFileName(), FALSE);  
        }  
    }  
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值