Comparaison de 2 repertoires

olisab1 Messages postés 12 Date d'inscription dimanche 1 juillet 2007 Statut Membre Dernière intervention 4 juillet 2012 - 23 juin 2009 à 18:52
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - 23 juin 2009 à 22:48
Bonjour

Comment faire en vbs pour comparer 2 repertoires et ne copier que
les fichiers differents entre la source et le cible
merci pour votre aide

1 réponse

cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
23 juin 2009 à 22:48
 Bonsoir,

Attention au choix du thème
Vous êtes ici : Thèmes / [forum-VB-NET-VB-2005_40.aspx VB.NET et VB 2005] / [theme-DIVERS_221.aspx Divers] / [theme-GENERAL_223.aspx General] / Comparaison de 2 repertoires

au lieu
Vous êtes ici : Thèmes

/ [forum-VISUAL-BASIC_1.aspx Visual Basic 6] / [theme-LANGAGES-DERIVES_287.aspx Langages dérivés] / [theme-VBSCRIPT_245.aspx VBScript]

L'exemple ci-dessous affiche la liste des fichiers de deux répertoires.
Reste à adapter et à comparer keys et items des deux dictionnaires.

Option Explicit
Sub CreateDico(argFolder, argDico, argListe)
    Dim objFile, arrDicoKeys,arrDicoItems, i
   
    For Each objFile In argFolder.Files
        argDico.Add objFile.Name, _
                    objFile.DateLastModified & " ! " & objFile.Size
    Next
   
    arrDicoKeys = argDico.Keys
    arrDicoItems = argDico.Items
   
    For i = 0 To argDico.Count-1
        argListe = argListe & vbCrLf & arrDicoKeys(i) & _
                   vbTab &arrDicoItems(i)
    Next
End Sub

Sub ShowFilesList(argPath)
    Dim objFso, objDico, strListe
    Set objFso = CreateObject("Scripting.FileSystemObject")
    Set objDico = CreateObject("Scripting.Dictionary")

    Call CreateDico(objFso.GetFolder(argPath), objDico, strListe)
    MsgBox strListe,,"Liste des fichiers sur " & argPath       
   
    Set objFso = Nothing
    Set objDico = Nothing
End Sub

call ShowFilesList("d:\test")
call ShowFilesList("f:\test")

jean-marc
0
Rejoignez-nous