Comparateur de fichiers

Résolu
fabricioliking
Messages postés
79
Date d'inscription
mercredi 30 août 2006
Statut
Membre
Dernière intervention
15 mai 2009
- 16 avril 2008 à 20:04
jrivet
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
- 16 avril 2008 à 20:38
Bonjours, voila j'ai pour projet de fair en vb6 une petite application qui me permettra de comparer l'ensemble de mes fichiers.
Pour le moment, j'aimerai juste pouvoir copier tout le contenue d'un de mes dossier que si un de mes fichiers existent pas déjà dans ma cible.

Je vous fait part de mon code

Private Sub Form_Load()

Dim oFSO, oFld
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFld = oFSO.GetFolder("C:\Documents and Settings\Fabrice\Bureau\fabtest")
// ma difficulté est surtout ici, je ne sais pas trop comment vérifier fichiers par fichiers.
If Dir("C:\Documents and Settings\Fabrice\Bureau\fjf", vbHidden) <> "" Then
    MsgBox "Erreur"
Else

oFld.Copy "C:\Documents and Settings\Fabrice\Bureau\fjf", True ' false the : pour copier en "écrasant" destination si existe..
End If

End Sub

Merci d'avance pour me donner un coup de main
A bientôt

Fabrice,

9 réponses

jrivet
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
59
16 avril 2008 à 20:13
Re,
Je pense qu'en jouant avec Lister tous les fichiers d'un repertoire
Et avec Copier un fichier tu devrais t'en sortir<hr size="2" width="100%" />@+: Ju£i?n
Pensez: Réponse
3
jrivet
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
59
16 avril 2008 à 20:38
Re,
Euh le bouton réponse acceptée est pour le ou les post qui t'ont aider à avancer

<hr size="2" width="100%" />@+: Ju£i?n
Pensez: Réponse
3
jrivet
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
59
16 avril 2008 à 20:09
Salut,
Pour faire une boucle pour chaque fichier contenu dans ton répertoire

Private Sub Form_Load()

Dim oFSO, oFld, oFILE
Set oFSO =  CreateObject("Scripting.FileSystemObject")
Set oFld = _
  oFSO.GetFolder("C:\Documents and Settings\Fabrice\Bureau\fabtest")
// ma difficulté est surtout ici, je ne sais pas trop comment vérifier fichiers _
  par fichiers.
For Each oFILE In OFld.Files
    If Dir(oFile.Path, vbHidden) <> Vbnullstring Then    MsgBox "Erreur"
Next

oFld.Copy "C:\Documents and Settings\Fabrice\Bureau\fjf", True ' false _
  the : pour copier en "écrasant" destination si existe..
End If

End Sub, ----
(Coloration syntaxique automatique par Kenji)

Si tu utilise Dir() pourquoi surcharge le programme avec le FileSystemObject?

<hr size ="2" width="100%" />@+: Ju£i?n
Pensez: Réponse
0
fabricioliking
Messages postés
79
Date d'inscription
mercredi 30 août 2006
Statut
Membre
Dernière intervention
15 mai 2009

16 avril 2008 à 20:17
Oui, le dir est pas à utiliser, mais justement j'aimerai pouvoir fair quelque chose de semblable avec Ofso et donc comparer tous mes fichiers.
La difficulté est plus basé cette utilisation des fichiers.
Je n'arrive pas à trouver comment je peux fair ainsi
0

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

Posez votre question
fabricioliking
Messages postés
79
Date d'inscription
mercredi 30 août 2006
Statut
Membre
Dernière intervention
15 mai 2009

16 avril 2008 à 20:18
Très bien je vais voir tes sources merci
0
jrivet
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
59
16 avril 2008 à 20:22
Re,
Non justement si tu pouvais te passer de Ofso ca serait mieux (moins gourmand en ressources)

<hr size="2" width="100%" />@+: Ju£i?n
Pensez: Réponse
0
fabricioliking
Messages postés
79
Date d'inscription
mercredi 30 août 2006
Statut
Membre
Dernière intervention
15 mai 2009

16 avril 2008 à 20:27
Je suis de retour avec une petit précision
J'ai pris la source au lien que tu m'as gentiment proposé et il est vrai que cela m'éclaircie un peu ma lanterne.
Cependant lors de l'utilisation de la fonction, c'est cette variable 'aResultat(i) que je dois comparer avec mon dossier cible pour voir si le fichier existe déjà ou non ?

'   EXEMPLE D'UTILISATION
Private Sub Command1_Click() 
    Dim aResultat() As String 
    Dim lRet As Long 
    Dim i As Long 

    lRet = GetFilesPathFromDirectory("C:\Windows", aResultat()) 
    If lRet <> -1 Then 
        For i = 0 To lRet 
            Debug.Print "Fichier " & i + 1 & " = " & aResultat(i) 
        Next i
    End If 
End Sub
0
jrivet
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
59
16 avril 2008 à 20:33
Re,
Ouaip, le mieux reste encore d'essayer

<hr size="2" width="100%" />@+: Ju£i?n
Pensez: Réponse
0
fabricioliking
Messages postés
79
Date d'inscription
mercredi 30 août 2006
Statut
Membre
Dernière intervention
15 mai 2009

16 avril 2008 à 20:34
:) Oui, Merci Jrivet
0