Fonctions permettant la copie d'un répertoire
Bonjour,
J'ai créé une fonction pour copier une liste de fichiers d'un répertoire, vers un autre répertoire, en écrasant les anciens fichiers du répertoire de destination.
Code:
1 2 3 4 5 6 7 8 9 10 11
| void __fastcall CopierFichiers(String rep_source, String rep_dest)
{
SHFILEOPSTRUCT FileOpStr;
ZeroMemory(&FileOpStr, sizeof(FileOpStr));
FileOpStr.hwnd = Application->Handle;
FileOpStr.fFlags = FOF_NOCONFIRMATION;
FileOpStr.wFunc = FO_COPY;
FileOpStr.pFrom = rep_source.c_str();
FileOpStr.pTo = rep_dest.c_str();
SHFileOperation(&FileOpStr);
} |
Je l'utilise ainsi :
Code:
CopierFichiers("C:\\Un rep bidon\\fichiers\\*.*", "E:\\Une destination");
J'ai beau changer le répertoire d'entrée, de sortie, les anti-slashs, étoiles, etc etc... A chaque fois, il me répond "Impossible de copier fichier : impossible de lire à partir du fichier source ou de la disquette".
Le plus étonnant, c'est que l'utilisation de cette fonction dans un autre programme fonctionnait SANS AUCUN PROBLEME, et que je réussisais bien à copier un répertoire et ses sous-répertoires dans un autre répertoire. 8O
Que faire ? Auriez-vous des idées concernant ce problème ? Ou peut-etre connaissez-vous une autre fonction pour copier le contenu entier d'un répertoire dans un autre ?
Merci par avance !!