Comment peut on faire effacer l'enssemble d'un dossier

Résolu
baby3378 Messages postés 193 Date d'inscription mercredi 7 septembre 2005 Statut Membre Dernière intervention 8 juillet 2010 - 28 déc. 2005 à 22:53
baby3378 Messages postés 193 Date d'inscription mercredi 7 septembre 2005 Statut Membre Dernière intervention 8 juillet 2010 - 29 déc. 2005 à 21:18
bonjour,
Comme l'indique le titre je cherche un moyen de suprimer l'enssemble des fichiers d'un dossier.

La raison: un ami m'a passé son programe qui créé un fichier texte d'archivage chaque jour. donc je cherche a les suprimer tous tous les mois automatiquement.

Je vous remerci d'avance et vous souhaite une bonne soiré.

PS: voici ce de quoi je dispose:

_Dev C++
_windows xp

5 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
28 déc. 2005 à 22:59
http://www.cppfrance.com/code.aspx?ID=27922

Tu suis la même logique, sauf que tu remplaces GetFileSize par DeleteFile
3
julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 15
29 déc. 2005 à 14:32
Petite fonction que j'avais fait il y a quelques temps:



<hr size="2" width="100%">//Suppression des données d'un répertoire

//param:

// *dirName: Chemin d'accès du répertoire à supprimer

// *extension:
Extension des données à supprimer (*.* pour supprimer tous les fichiers)

// delDir:
Booléen indiquant si il faut oui ou non supprimé le
répertoire donné ou juste son contenu

void deleteDir(HWND hParent, char *dirName, char *extension, BOOL delDir)

{

char initialDir[256];

WIN32_FIND_DATA wfd;

HANDLE file;



//Sauvegarde du répertoire courant

getcwd(initialDir, 255);



//Changement du répertoire courant + quitte la fonction si le répertoire donné n'est pas trouvé

if (chdir(dirName) == -1)

{

MessageBox(hParent, "Le dossier
spécifié n'existe pas", dirName, MB_OK | MB_ICONINFORMATION);

return;

}



//Recherche de tous les fichiers et répertoire

file = FindFirstFile(extension, &wfd);

if (file != INVALID_HANDLE_VALUE) //Si on a trouvé des fichiers, alors on les supprime un par un

{

char fileName[256];

BOOL nextFile = TRUE;



do

{

strcpy(fileName, wfd.cFileName);



//Si on
a à faire à un dossier, on supprime les dossiers et fichier qu'il a à
l'intérieur, puis on le supprime lui

if
(wfd.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY &&
stricmp(fileName, ".") && stricmp(fileName, ".."))

{

deleteDir(hParent, fileName, extension, FALSE);

if (RemoveDirectory(fileName) == FALSE)


MessageBox(hParent, "Impossible
de supprimer le répertoire.\nVérifier les droits d'accèes", fileName,
MB_OK | MB_ICONERROR);

}



//Si ce n'est qu'un fichier, on le supprime

else if (stricmp(fileName, ".") && stricmp(fileName, ".."))

if (DeleteFile(fileName) == FALSE)


MessageBox(hParent, "Impossible
de supprimer le fichier.\nVérifier les droits d'accèes", fileName,
MB_OK | MB_ICONERROR);



//On récupére l'élément suivant

nextFile = FindNextFile(file, &wfd);

} while (nextFile == TRUE);



//Fin du parcours

FindClose(file);

}



//Suppression du repértoire courant

if (delDir == TRUE)

RemoveDirectory(dirName);




//Restauration du répertoire courant

chdir(initialDir);


}


<hr size="2" width="100%">Il y a probablement des choses a revoir (ce
n'était pas la derniere version, mais je remets plus la main dessus)
mais elle fonctionne.

Le seul probleme: Les fichiers protégés ou en cours d'utilisation (genre certains fichiers temporaires).

Sinon, supprime bien tous les fichiers d'un répertoire (et de ses sous répertoires).



Sinon, une petite question: Y a-t-il moyen de ne pas récupérer les
répertoires "." et ".." lorsque l'on utilise les fonctions du type FindNextFile?



Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]
3
baby3378 Messages postés 193 Date d'inscription mercredi 7 septembre 2005 Statut Membre Dernière intervention 8 juillet 2010
29 déc. 2005 à 17:41
hoooo,
Dites moi seulement comment vous remercier !!!!!!!!

merki beaucoup et je vous souhaite une bonne journée a tous
0
cs_Matt67 Messages postés 549 Date d'inscription samedi 6 septembre 2003 Statut Membre Dernière intervention 6 mars 2010 3
29 déc. 2005 à 19:46
Bonsoir,



As tu essayé ceci : SHFileOperation.

Matt...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
baby3378 Messages postés 193 Date d'inscription mercredi 7 septembre 2005 Statut Membre Dernière intervention 8 juillet 2010
29 déc. 2005 à 21:18
nan je croi pas,
c'est koi "ShfileOperation" comment on l'utilise.
0
Rejoignez-nous