1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
BOOL didThisFail = FALSE;
WIN32_FIND_DATA FindFileData;
HANDLE hfind=NULL;
FILETIME dateElement;
wstring ext=toWstring("\\*.*");
wstring chemin=source+ext;
cout<<"la source est"<<endl;
wcout<<source<<endl;
cout<<"le chemin est"<<endl;
wcout<<chemin<<endl;
hfind = FindFirstFile(chemin.c_str(), &FindFileData);
while(FindNextFile(hfind,&FindFileData)!=0)
{
wstring nomElement(FindFileData.cFileName);
wcout<<nomElement<<endl;
dateElement=FindFileData.ftLastWriteTime;
if (nomElement!=toWstring(".") && nomElement!=toWstring("..")){
wstring newDossierToSave=source+toWstring("\\")+nomElement;
wstring newDestinationFile=destination+toWstring("\\")+nomElement;
if((FindFileData.dwFileAttributes) & (FILE_ATTRIBUTE_DIRECTORY)){//si c'est un dossier
cout<<"newDestinationFile= "<<endl;
wcout<<newDestinationFile<<endl;
if (verifierExistence(toString(newDestinationFile))==false){
if (CreateDirectory(newDestinationFile.c_str(), NULL)){
cout<<"creation du dossier ..."<<endl;}
else {cout<<"erreur dans la creation du dossier, le contenu de celui-ci ne sera pas sauvegardé"<<endl;}
}
sauvegardeDossier(newDossierToSave,newDestinationFile,ext);
}
else{
if (verifierExistence(toString(newDestinationFile))==false){
if (CopyFile(newDossierToSave.c_str(),newDestinationFile.c_str(), BOOL(false))){
cout<<"copie reussie"<<endl;}
else {cout<<"copie loupee"<<endl;}
}
else if(plusRecent(dateElement,newDossierToSave)){
if (CopyFile(newDossierToSave.c_str(),newDestinationFile.c_str(), BOOL(false))){
cout<<"copie reussie"<<endl;}
else {cout<<"copie loupee"<<endl;}
}
else {cout<<"le fichier existe et n'est pas plus recent"<<endl;}
}
}
}
FindClose(hfind);
} |
Partager