Effacer un répertoire et tout son contenu

0/5 (5 avis)

Snippet vu 13 739 fois - Téléchargée 49 fois

Contenu du snippet

Ce code sert à effacer un répertoire ainsi que tous les sous répertoires et fichiers qu'il contient (comme windows, youpi!).

Source / Exemple :


Public Function deldir(chemin As String) As Boolean
traitement:
deldir = False                                                       'indicateur de fonction
myname = Dir(chemin & "\*.*", vbDirectory)          'type de fichier rencontré
Do While myname <> ""
    If myname <> "." And myname <> ".." Then
        If (GetAttr(chemin & "\" & myname) And vbDirectory) = vbDirectory Then
            result = deldir(chemin & "\" & myname)
            If result = False Then
            Exit Function
            End If
            GoTo traitement
        Else
            Kill chemin & "\" & myname              'efface le fichier
        End If
    End If
    myname = Dir
Loop
RmDir chemin                                        'efface le répertoire
deldir = True                                         'sortie de la fonction
End Function

Conclusion :


Cette fonction doit être appelée avec le paramètre "chemin" (chaine de caractère), qui est le nom du répertoire à effacer: exemple : result = deldir(chemin) où result est une variable de type booléen.

les bugs: ne marche pas si un fichier ou un répertoire est en lecture seule.

A voir également

Ajouter un commentaire Commentaires
cs_wizz Messages postés 1 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 9 avril 2008
9 avril 2008 à 18:37
Merci! Simple et utile
kakenette Messages postés 218 Date d'inscription dimanche 1 mai 2005 Statut Membre Dernière intervention 15 novembre 2009 1
7 févr. 2008 à 15:56
Si les fichiers système ou cacher ne sont pas listés, il faut changer de methode. si s'est le qua, il suffit juste de fair un ' SetAttr "Chemin", vbNormal ' et de supprimer ensuite.
cs_Grandnord Messages postés 6 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 10 octobre 2006
1 nov. 2006 à 04:53
Si un fichier caché est présent, une erreur survient. Est-ce que quelqun a une idée pour effacer un répertoire contenant des fichiers cahchés et ou systèmes dans plusieurs sous-répertoires?

Merci beaucoup!
soulmanto Messages postés 16 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 18 juillet 2002
16 janv. 2002 à 09:55
je sais pas mais en tout cas j'ai regardé suite à ton commentaire et j'ai pas trouvé...
cs_shivan Messages postés 363 Date d'inscription jeudi 20 décembre 2001 Statut Membre Dernière intervention 25 août 2003
15 janv. 2002 à 11:47
sympa comme recursive, mais si je ne me trompe pas, cette source est deja plusieurs fois...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.