system("xcopy A\*.* B /s /h /d /y  "); /d复制在指定日期或指定日期以后更改的文件。
如果没有提供日期,只复制那些源时间
比目标时间新的文件。另外参数自行百度。

解决方案 »

  1.   

    曾经做过个文件(夹)同步软件,自己用来同步代码的.
    告诉你,NTFS格式的分区 ,用那个findfilenext一个一个找出来的文件,是按文件名排序的,
    FAT32的,是按文件创建日间排序的.
    知道这些,按类似分治排序对比,很快的.
      

  2.   

    才6000多个,算多么,难道你是手动复制的?写个代码呗,就最简单的2个for循环就行了,6000多个根本不需要考虑性能。
      

  3.   

    遍历文件夹吧CFileFind::FindFile/FileNextFile()
      

  4.   

    先枚举出来放到两个set里边,做差值比较 然后再处理 
      

  5.   

    搜“robocopy”
      

  6.   

    这个代码我常写,给你一个吧
    #include "io.h"
    BOOL CreateDir(CString strDirector)
    {
    CString strTemp;
    int i = strDirector.GetLength();
    char cTemp[MAX_PATH*2];
    memset(cTemp , 0 , MAX_PATH*2);
    strcpy(cTemp , strDirector);

    if(CreateDirectory(strDirector , NULL) == TRUE)
    {
    return TRUE;
    }
    else
    {
    for (i-=2; i>0; i--)
    {
    if(cTemp[i] == '\\')
    break;
    else
    cTemp[i] = 0;
    }
    if (i==0)
    return FALSE;

    strTemp = cTemp;
    if(CreateDir(strTemp))
    {
    if(CreateDirectory(strDirector , NULL))
    return TRUE;
    else
    return FALSE;
    }
    }
    return FALSE;
    }
    BOOL CopyDir(LPCTSTR lpszSrcDir, LPCTSTR lpszDesDir)
    {

    WIN32_FIND_DATA FindData;
    HANDLE hFind;
    hFind = FindFirstFile(lpszSrcDir, &FindData);
    if(hFind!=INVALID_HANDLE_VALUE)
    {
    TCHAR szDirName[MAX_PATH*2];
    TCHAR szDesDirName[MAX_PATH*2];
    lstrcpy(szDirName, lpszSrcDir);
    lstrcpy(szDesDirName, lpszDesDir);
    1[_tcsrchr(szDirName, TEXT('\\'))] = 0;//去掉*.*
    1[_tcsrchr(szDesDirName, TEXT('\\'))] = 0;
    CreateDir((CString)szDesDirName);
    do
    {
    TCHAR szPath[MAX_PATH*2];
    TCHAR szDesPath[MAX_PATH*2];
    if(FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
    {//如果是目录
    if(lstrcmp(FindData.cFileName, TEXT(".")) && lstrcmp(FindData.cFileName, TEXT("..")))
    {
    lstrcpy(szPath, szDirName);
    lstrcat(szPath, FindData.cFileName);
    lstrcat(szPath, TEXT("\\*.*"));
    lstrcpy(szDesPath, szDesDirName);
    lstrcat(szDesPath, FindData.cFileName);
    if (CreateDir((CString)szDesPath))
    SetFileAttributes(szDesPath, FindData.dwFileAttributes);
    lstrcat(szDesPath, TEXT("\\*.*"));
    CopyDir(szPath, szDesPath);//拷贝子目录
    }
    }
    else
    {//如果是文件,就拷贝这个文件
    lstrcpy(szPath, szDirName);
    lstrcat(szPath, FindData.cFileName);
    lstrcpy(szDesPath, szDesDirName);
    lstrcat(szDesPath, FindData.cFileName);
    if(_access(szDesPath) != 0) //如果目标文件存在就复制
        CopyFile(szPath, szDesPath, FALSE);
    }
    }while(FindNextFile(hFind, &FindData));
    // m_bComplete = TRUE;
    FindClose(hFind);
    return TRUE;
    }
    return FALSE;
    }
    调用:CopyDir("C:\\src\\*.*", "D:\\Des\\*.*");//记得目录后加*.*