Supprimer des fichiers en double (d'apres leur nom)

Soyez le premier à donner votre avis sur cette source.

Vue 12 544 fois - Téléchargée 517 fois

Description

Permet de comparer et de supprimer des fichiers en double.
Pour moi il me permet quand je grave des fichiers sur CD ou DVD après gravure de faire une comparaison du CD ou DVD par rapport au disque dur et supprime les fichiers cela évite d'avoir plusieurs même fichier sur le même CD ou DVD.

Il y a quelques bugs si vous avez un lecteur sans CD par exemple.

Mais c'est un exemple qui fonctionne quand même.

Source / Exemple :


Private Sub Annuler_Click()

'Ferme le programme
Unload Me

End Sub

Private Sub Dir1_Change()

' Affiche les fichier suivent le dossier
File1.Path = Dir1.Path

End Sub

Private Sub Dir2_Change()

' Affiche les fichier suivent le dossier
File2.Path = Dir2.Path

End Sub

Private Sub Drive1_Change()

' Dit quelle lecteur choisi
Dir1.Path = Drive1.Drive

End Sub

Private Sub Drive2_Change()

' Dit quelle lecteur choisi
Dir2.Path = Drive2.Drive

End Sub

Private Sub Valier_Click()

Dim Ligne, Ligne2, Max, Max2 As Integer
Dim Msg As String

'Message de protection
Msg = MsgBox("Attention vous êtez sur le point de supprimer des fichiers" & vbCrLf & "Continuer ?  ", vbYesNo, "Suppression")
If Msg = vbNo Then Exit Sub ' si on clique sur non on quitte

Ligne = 0
Ligne2 = 0

' Boucle de suppression des fichier en double
Do
Max = File1.ListCount 'Pour longueur maximal
Max2 = File2.ListCount 'Pour longue rmaximal

    File1.ListIndex = Ligne
        Do
            File2.ListIndex = Ligne2
            If File1.FileName = File2.FileName Then
            'Supprimer un Fichier :
            'Cette partit du cose vien de
            'Auteur: tekila_bandita de VB France
            'http://www.vbfrance.com/codes/SUPPRIMER-FICHIER-OU-CATEGORIE-FICHIERS-DANS-REPERTOIRE_32173.aspx
            Set objFSO = CreateObject("Scripting.FileSystemObject")
            objFSO.DeleteFile (File2.Path & "\" & File2.FileName)
            ' Voila jusque ici que je remerci.
            Ligne2 = 0
            End If
            Ligne2 = Ligne2 + 1
        Loop Until Ligne2 = Max2
    Ligne2 = 0
    Ligne = Ligne + 1
Loop Until Ligne = Max

End Sub

Conclusion :


Je remercie
tekila_bandita a qui j'ai utilisé une partit d'un de ses codes voici le lien
http://www.vbfrance.com/codes/SUPPRIMER-FICHIER-OU-CATEGORIE-FICHIERS-DANS-REPERTOIRE_32173.aspx

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
1
Ah ok je n'avais jamais utilisé MD5 pour un fichier, autant pour moi ;)
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
37
MD5 bien plus rapide que tu le sous-entends MadM@tt, tout à fait faisable et très bonne idée

Kill approprié, retourne une erreur pour un fichier inexistant. possible d'utiliser l'API deletefile

++
Messages postés
939
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
27 janvier 2009
2
+1 sur la remarque de MadM@tt, j'ai des dizaines de fichiers portant le même nom, identifié seulement par leur repertoire conteneur.
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
1
Salut, en utilisant des tableaux plutot que de stocker tes valeurs dans une listbox, ça serait pas plus rapide ?

Et tu devrais faire attention aussi à vérifier que les tailles de fichiers sont identiques, ça permet d'etre "un peu plus sur" que les fichiers sont les memes.
Si tu veux vraiment etre sur, alors fait un hash MD5 de chaque fichier et compare les hash, mais faire un hash prend du temps donc à voir.
Messages postés
24
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
23 juin 2007
1
Bonjour,

EBArtSoft: Effectivement j'y avais pensé mais il m'avais semblé avoir lu sur un forum qu'il ne fallais pas utilisé la fonction Kill comme cela.
Alors vu que tu me met dans le doute je vais aller regarder un peut partout pour que je me remettre a la page ^_^

Drikce06: Je viens de tester la fonction mais chez moi il me sort le cd interne a chaque acces mais pas celui en USB mais c'est une très bonne idée.

Merci a vous
Afficher les 7 commentaires

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.