baby3378
Messages postés193Date d'inscriptionmercredi 7 septembre 2005StatutMembreDernière intervention 8 juillet 2010
-
28 déc. 2005 à 22:53
baby3378
Messages postés193Date d'inscriptionmercredi 7 septembre 2005StatutMembreDerniè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
A voir également:
Comment peut on faire effacer l'enssemble d'un dossier
//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]