IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Rechercher de tous les fichiers d'un répertoire donné


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Support interfaçage
    Inscrit en
    Juin 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Support interfaçage
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2017
    Messages : 45
    Par défaut Rechercher de tous les fichiers d'un répertoire donné
    Bonjour à tous, je dois ajouter un suffixe à chaque ligne de fichier texte. Sur un fichier, je sais le faire, mais je ne sais pas comment choisir tous les fichiers *.txt d'un répertoire donné.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Path = "C:\TEST"
    const  ficlu    = "azerty.txt"
      const  ficecrit = "nouveau.txt"
      const  carac    = ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1" '       caractère à mettre en bout de ligne
     
     Set        oFso = CreateObject("Scripting.FileSystemObject")
         if not ofso.fileexists(ficlu) then _
                msgbox "fichier non trouvé",, ficlu : wscript.quit
     
    Const ForReading    = 1
    const ForWriting    = 2
    Const TristateTrue  = -1     ' Unicode
     
       Set fs   = oFso.OpenTextFile(ficecrit,ForWriting,true)
     
                     fic= oFSO.GetFile(ficlu).path
      Set fl = oFso.OpenTextFile(fic,ForReading, TristateTrue)
     
      while Not fl.AtEndOfStream
         lig = fl.readline
                fs.writeline (lig & carac)
      Wend
      fl.Close  : fs.close
     
      '     renommer les fichiers
                 f= left(ficlu,len(ficlu)-3) & "bak"
                 ofso.movefile  ficlu, f
                 ofso.movefile  ficecrit, ficlu
    Si quelqu'un peut me donner un peu d'aide...

    D'avance, merci.

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 33
    Par défaut
    Et de cette manière est ce que cela fonctionne?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Path = "C:\TEST\"
    ficlu    = Path & "azerty.txt"
    ficecrit = Path & "nouveau.txt"
    const  carac    = ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1" '       caractère à mettre en bout de ligne
     
    Set oFso = CreateObject("Scripting.FileSystemObject")
    	if not ofso.fileexists(ficlu) then _
    		msgbox "fichier non trouvé",, ficlu : wscript.quit
     
    Const ForReading    = 1
    const ForWriting    = 2
    Const TristateTrue  = -1     ' Unicode
     
    Set fs = oFso.OpenTextFile(ficecrit,ForWriting,true)
     
    fic= oFSO.GetFile(ficlu).path
    Set fl = oFso.OpenTextFile(fic,ForReading, TristateTrue)
     
    while Not fl.AtEndOfStream
    	lig = fl.readline
    	fs.writeline (lig & carac)
    Wend
    fl.Close  : fs.close
     
      '     renommer les fichiers
    	f= left(ficlu,len(ficlu)-3) & "bak"
    	ofso.movefile  ficlu, f
    	ofso.movefile  ficecrit, ficlu

  3. #3
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut
    Citation Envoyé par PeterMac62 Voir le message
    Bonjour à tous, je dois ajouter un suffixe à chaque ligne de fichier texte. Sur un fichier, je sais le faire, mais je ne sais pas comment choisir tous les fichiers *.txt d'un répertoire donné.
    ............
    D'avance, merci.
    Dans la FAQ VBScript:
    Comment lister les fichiers d'un dossier ?
    Dans la boucle For each .... next il te suffit de vérifier le type du fichier, et s'il est égal à .txt, alors passer le nom dans la sub que tu as déjà codé.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For each oFl in  oFSO.GetFolder(stRep).Files
        if Lcase(right(oFl.Name,3)) ="txt" then 
            'executer ta sub
        end if
    Next
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

Discussions similaires

  1. Réponses: 9
    Dernier message: 16/09/2014, 16h09
  2. Application de recherche de texte dans tous les fichiers d'un répertoire
    Par altair8080 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 25/03/2014, 07h59
  3. Traiter tous les fichiers d'un répertoir sans les MFC.
    Par radicalrider dans le forum MFC
    Réponses: 12
    Dernier message: 21/06/2006, 17h18
  4. Recherche sur tous les fichiers d'un projet
    Par Kaorichan dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 28/04/2005, 11h28
  5. Réponses: 4
    Dernier message: 24/09/2004, 10h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo