- //fonction permettant la suppression du contenu d'un répertoire sans le supprimer
- void DeleteAll(TCHAR * repertoire)
- {
- TCHAR Path[MAX_PATH] ;
- _tcscpy(Path, repertoire) ;
- _tcscat(Path, TEXT("\\*")) ;
- TCHAR dossier[MAX_PATH] ;
- _tcscpy(dossier, repertoire) ;
- _tcscat(dossier, TEXT("\\")) ;
- WIN32_FIND_DATA wfd;
- HANDLE hfl = FindFirstFile(Path, &wfd); // Recherche du premier fichier du répertoire
- if(hfl != INVALID_HANDLE_VALUE)
- {
- _tcscat(dossier, wfd.cFileName) ;
- if (wfd.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY) // Si il s'agit d'un dossier
- {
- DeleteAll(dossier) ; // Suppression récursive des dossiers
- RemoveDirectory(dossier) ; // Suppression du dossier
- }
- else
- {
- DeleteFile(dossier); // Suppression du fichier
- }
- while(FindNextFile(hfl, &wfd)) // Tant qu'il y a de nouveaux fichiers
- {
- _tcscpy(dossier, repertoire) ;
- _tcscat(dossier, TEXT("\\")) ;
- _tcscat(dossier, wfd.cFileName) ;
- if (wfd.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY) // Si il s'agit d'un dossier
- {
- DeleteAll(dossier) ; // Suppression récursive des dossiers
- RemoveDirectory(dossier) ; // Suppression du dossier
- }
- else
- {
- DeleteFile(dossier); // Suppression du fichier
- }
- }
- FindClose(hfl); // Fermeture du dossier de recherche
- }
- }
//fonction permettant la suppression du contenu d'un répertoire sans le supprimer
void DeleteAll(TCHAR * repertoire)
{
TCHAR Path[MAX_PATH] ;
_tcscpy(Path, repertoire) ;
_tcscat(Path, TEXT("\\*")) ;
TCHAR dossier[MAX_PATH] ;
_tcscpy(dossier, repertoire) ;
_tcscat(dossier, TEXT("\\")) ;
WIN32_FIND_DATA wfd;
HANDLE hfl = FindFirstFile(Path, &wfd); // Recherche du premier fichier du répertoire
if(hfl != INVALID_HANDLE_VALUE)
{
_tcscat(dossier, wfd.cFileName) ;
if (wfd.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY) // Si il s'agit d'un dossier
{
DeleteAll(dossier) ; // Suppression récursive des dossiers
RemoveDirectory(dossier) ; // Suppression du dossier
}
else
{
DeleteFile(dossier); // Suppression du fichier
}
while(FindNextFile(hfl, &wfd)) // Tant qu'il y a de nouveaux fichiers
{
_tcscpy(dossier, repertoire) ;
_tcscat(dossier, TEXT("\\")) ;
_tcscat(dossier, wfd.cFileName) ;
if (wfd.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY) // Si il s'agit d'un dossier
{
DeleteAll(dossier) ; // Suppression récursive des dossiers
RemoveDirectory(dossier) ; // Suppression du dossier
}
else
{
DeleteFile(dossier); // Suppression du fichier
}
}
FindClose(hfl); // Fermeture du dossier de recherche
}
}