Toute l'actualité de [self-access.com] en direct sur votre ordinateur !  Vous êtes ici : Accueil » Visual Basic » Scripting Runtime » En vrac...Connexion
 


Dans cet article... 
  • Fusionner des fichiers texte
  •  Article mis à jour le 09/02/2009

    Fusionner des fichiers texte

    Je dispose de plusieurs fichiers texte dans un dossier bien identifié. En complément, les noms de tous ces fichiers démarrent par "access" (par exemple : access001.txt, access002.txt ou encore access test.txt).

    Je souhaite les regrouper en un seul fichier texte qui s'appellerait test.txt. Comment faire ?

    Voici un exemple de listing qui fera ça. A vous d'aménager les chemins pour qu'il fonctionne correctement. Notez que le listing est prévu pour VBScript, c'est pourquoi les variables ne sont pas typées. Il fonctionnera donc dans un fichier .vbs, mais également dans une procédure Sub/End Sub Visual Basic. A vous de tester !

    Dim fso, fld, fle
    Dim stmOrig, stmTarget
    Dim strPath

    ' Dossier à analyser
    strPath = "C:\Documents and Settings\Hervé\Mes documents"

    ' Fichier à créer
    strNewFile = "C:\Documents and Settings\Hervé\Bureau\test.txt"

    ' Dossier
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set fld = fso.GetFolder(strPath)

    ' Ouvrir le fichier en écriture
    Set stmTarget = fso.CreateTextFile(strNewFile)

    ' Parcourir tous les fichiers
    For Each fle In fld.Files
      If Left(fle.Name, 6) = "access" Then
        ' Lire tout le fichier texte
        Set stmOrig = fle.OpenAsTextStream()
        strBuff = stmOrig.ReadAll()

        ' Ecrire dans le nouveau fichier
        stmTarget.WriteLine strBuff
       
        stmOrig.Close
        Set stmOrig = Nothing
      End If
    Next

    ' Fermer le fichier créé
    stmTarget.Close

    ' Libérer les ressources
    Set stmTarget = Nothing
    Set fld = Nothing
    Set fso = Nothing

    MsgBox "Terminé !"

    Mes livres sur Access...
    [cliquez pour plus d'infos]





    Hit-Parade 
     
    [ Copyright 1997-2018 hervé inisan, self-access.com Reproduction interdite ]