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.
Je l'utilise ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
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".
Code : Sélectionner tout - Visualiser dans une fenêtre à part CopierFichiers("C:\\Un rep bidon\\fichiers\\*.*", "E:\\Une destination");
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.
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 !!
Partager