| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1511 人关注过本帖
标题:文件夹复制的覆盖问题
只看楼主 加入收藏
photoelec
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2008-1-9
收藏
 问题点数:0 回复次数:1 
文件夹复制的覆盖问题
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-03-11 11:13
photoelec
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2008-1-9
收藏
得分:0 
已解决
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-03-11 17:09
快速回复:文件夹复制的覆盖问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014870 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved