怎样COPY一个绝对路经下的所有文件,到目标路经,大家看看.谁有例子程序,谢谢.

解决方案 »

  1.   

    例子,还是自己写吧!不难
    给你一个思路,
    用CFileFind类递归出你的文件夹下所有文件
    再用copyfile(...)就可以了
      

  2.   

    还是用SHFileOperation比较安全些
      

  3.   

    void FileContrl(CString sFile, CString tFile)
    {
    CFileFind sfileFind;
    CFileFind tFileFind;
    BOOL      bFailIfExists = 0;
    BOOL   bExist = 1;
    CString   dsFile,
          dtFile;
    CString   fsFile,
      ftFile;

    //判断目的文件夹是否存在
    if (!tFileFind.FindFile(tFile + "\\*.*"))
    {
    CreateDirectory(tFile, NULL);
    tFileFind.Close();
    } //查找源文件
    if (!sfileFind.FindFile(sFile))
    {
    MessageBox("源文件不存在!");
    return;
    }

    //如果存在文件
    while(bExist)
    {
    //在应用文件操作函数之前必须调用这个函数至少一次
    bExist = sfileFind.FindNextFile();

    //如果是文件
    if (!sfileFind.IsDirectory() && !sfileFind.IsDots())
    {
    fsFile = sfileFind.GetFilePath();
    ftFile = tFile + "\\" + sfileFind.GetFileName();
    CopyFile(fsFile, ftFile, bFailIfExists);
    } //如果是文件夹,递归遍历整个目录
    else if (!sfileFind.IsDots())
    {
    dsFile = sfileFind.GetFilePath() + "\\*.*";
    dtFile = tFile + "\\" + sfileFind.GetFileName();
    CreateDirectory(dtFile, NULL);
    FileContrl(dsFile, dtFile);
    }
    } sfileFind.Close();
    }这是我实现你所说功能的代码!请参考!
    祝你进步!
      

  4.   

    SHFILEOPSTRUCT test;
    ZeroMemory(&op, sizeof(test));
    test.wFunc = FO_COPY;
    test.pFrom = "c:\\temp";  //原复制目录
    test.pTo = "c:\\temp2";   //目标复制目录
    test.fFlags = FOF_SILENT|FOF_NOCONFIRMATION|FOF_ALLOWUNDO;
    SHFileOperation(&test);
      

  5.   

    递归也可以但,一般本地复制的,用SHFilepOreation 就可以了。
      

  6.   

    一般本地复制的,用SHFilepOreation 就可以了。
    SHFilepOreation 在非本地条件下不适合吗.