| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 454 人关注过本帖
标题:文件夹复制的覆盖问题
收藏  订阅  推荐  打印 
photoelec
Rank: 2
等级:注册会员
帖子:101
积分:1214
注册:2008-1-9
文件夹复制的覆盖问题

SHFILEOPSTRUCT Op;
    char FromBuf[50]={"\\\\174.24.4.9\\share\\key"};
    char ToBuf[20]={"d:\\aniu"};
    Op.hwnd = NULL;
    Op.wFunc = FO_COPY;
    Op.pFrom = FromBuf;
    Op.pTo = ToBuf;
    Op.fFlags = FOF_NOCONFIRMATION | FOF_RENAMEONCOLLISION;
    Op.fAnyOperationsAborted = FALSE;
    Op.hNameMappings = NULL;
    Op.lpszProgressTitle = NULL;
    if(SHFileOperation(&Op) == 0)
        AfxMessageBox(_T("复制完毕"));

是把key文件夹拷到d:\aniu下。

问题:d:\aniu下已经有key这个文件夹了,怎样进行覆盖?也就是怎样用现在拷过来的这个key文件夹把d:\aniu里原有的文件夹覆盖?
搜索更多相关主题的帖子: 文件夹  key  NULL  aniu  
2008-3-11 11:13
photoelec
Rank: 2
等级:注册会员
帖子:101
积分:1214
注册:2008-1-9
已解决

CFileFind   finder;   
    CString Path ="d:\\david\\";
    CString Path_l ="d:\\david\\";
    CString mu ="d:\\davidgdw\\";
    CString mu_l ="d:\\davidgdw\\";
    CString   strPath="D:\\david\\*.txt";   
    BOOL   bWorking   =   finder.FindFile(strPath);   
    while   (bWorking)   
    {   
        bWorking   =   finder.FindNextFile();
        if(finder.IsDots())continue; //如果查到文件为   [.]   或   [..]   则忽略   
        if(finder.IsDirectory())   //是文件夹的情况,
        {   
            continue;
        }
        else
        {
            //AfxMessageBox(finder.GetFileName()); //直接给出该文件的名称
            //AfxMessageBox(finder.GetFilePath());//直接给出该文件的路径
            Path += finder.GetFileName();
            mu += finder.GetFileName();
            CopyFile(Path,mu,false);
            Path = Path_l;
            mu = mu_l;
        }
    }  


注:  本段代码实现:把D盘的david文件中的所有文件全部copy到D盘的davidgdw文件中去。(其中文件夹不考虑,若要考虑,在“文件夹情况”中将这段代码再加入其中,有多少个文件夹,就要加多少次,在这就要用递归调用这种方式。)
2008-3-11 17:09
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.051691 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved