[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,
A voir également:

1 réponse

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