[VB] comparateurs de dossier

sophie26 -  
 sophie26 -
Bonjour,
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,
Configuration: Windows XP
Firefox 2.0.0.13

1 réponse

  1. sophie26
     
    J'ai trouvé une source qui ma é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 ?
    Car si je ne me trompe pas cette variable contiens l'ensemble des fichiers

    ' 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

    Public Function GetFilesPathFromDirectory(ByVal sDir As String, ByRef aRet() As String, Optional ByVal sFilter As String = "*.txt") As Long
    ' GetFilesPathFromDirectory retourne -1 si aucun fichier trouvé
    ' sinon retourne la dimension du tableau, donc NB fichiers -1 (tableau commence à l'indice 0)
    ' init les résultats
    GetFilesPathFromDirectory = -1
    Erase aRet
    If RightB$(sDir, 2) <> "\" Then sDir = sDir & "\"
    ' formate le chemin
    Dim sFile As String
    sFile = Dir(sDir & sFilter, vbHidden Or vbSystem)
    ' boucle sur tous les fichiers
    Do
    If LenB(sFile) Then
    GetFilesPathFromDirectory = GetFilesPathFromDirectory + 1
    ReDim Preserve aRet(GetFilesPathFromDirectory)
    aRet(GetFilesPathFromDirectory) = sDir & sFile
    sFile = Dir
    End If
    Loop Until LenB(sFile) = 0
    End Function
    0