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 :

recherche et remplace dans un fichier


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 8
    Points : 10
    Points
    10
    Par défaut recherche et remplace dans un fichier
    bonjour, je suis débutante et je souhaite rechercher et remplacer
    des lignes dans un fichier texte ceci fonctionne pour la premiere ligne
    replace (10.10.1.12 ....) mais pas pour la deuxième (10.10.1.13)
    Voici mon script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Fichier2 = "C:\Documents and Settings\TRANCHARD.SIEGE_DEV\Application Data\ICAClient\APPSRV.INI"
     
    Const ForReading = 1, ForWriting = 2, ForAppending = 8
    Dim fso, f
    Dim st
    Set fso = CreateObject("Scripting.FileSystemObject" )
    Set f = fso.OpenTextFile(fichier2, ForReading)
    st = f.readAll
    f.Close
    Set f = fso.OpenTextFile(fichier2, ForWriting)
    f.Write replace(st,"10.10.1.12","10.1.1.12")
    f.Write replace(st,"10.10.1.13","10.1.1.13")
    f.close
    Merci pour votre aide

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    bonsoir,

    est-tu sure de ton diagnostics... l'examen de ton code semble dire autre chose ici
    tu lit le contenu de ton premier fichier

    et en suite tout en effectuant ton remplacement tu écris le contenu complet de ton fichier par deux fois ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    f.Write replace(st,"10.10.1.12","10.1.1.12")
    et ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    f.Write replace(st,"10.10.1.13","10.1.1.13")
    ...

    si tu ne veux écrire le contenu de ton fichier qu'une seule fois tu peu soit passer par une variable intermédiaire soit cumuler les deux remplacement sur la même ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    f.Write replace(replace(st,"10.10.1.13","10.1.1.13"),"10.10.1.12","10.1.1.12")

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 8
    Points : 10
    Points
    10
    Par défaut recherche et remplace (suite)
    merci pour votre réponse
    puis je de cette facon en cumuler plusieurs ?
    du style :
    f.Write replace(replace(replace(st,"10.10.1.13","10.1.1.13"),"10.10.1.12","10.1.1.12", "10.10.1.17","10.1.1.17"))

    merci beaucoup

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par magalou68 Voir le message
    merci pour votre réponse
    puis je de cette facon en cumuler plusieurs ?
    du style :
    f.Write replace(replace(replace(st,"10.10.1.13","10.1.1.13"),"10.10.1.12","10.1.1.12", "10.10.1.17","10.1.1.17"))

    merci beaucoup
    oui, sauf que dans ton exemple dans ton cas les parenthèses ne sont pas bien placées..
    C'est peu-être plus simple a comprendre en passant par une variable intermédiaire ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    st=replace(st,"10.10.1.13","10.1.1.13")
    st=replace(st,"10.10.1.12","10.1.1.12")
    st=replace(st,"10.10.1.17","10.1.1.17")
    ....

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 8
    Points : 10
    Points
    10
    Par défaut recherche et remplace (suite)
    merci
    mais j'avais deja essayé avec plusieurs variables mais ceci ne fonctionne pas
    ou dois placer mes parentheses ? dans le cas
    f.Write replace(replace(replace(st,"10.10.1.13","10.1.1.13"),"10.10.1.12","10.1.1.12", "10.10.1.17","10.1.1.17"))

    merci encore
    une débutante

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par magalou68 Voir le message
    merci
    mais j'avais deja essayé avec plusieurs variables mais ceci ne fonctionne pas
    ...
    bien sur que cela fonctionne !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RegEx] Rechercher et remplacer dans un fichier
    Par chatlumo dans le forum Langage
    Réponses: 4
    Dernier message: 09/10/2014, 05h00
  2. Réponses: 3
    Dernier message: 11/06/2009, 17h49
  3. Shell - Rechercher et remplacer dans un fichier
    Par rom0607 dans le forum Linux
    Réponses: 3
    Dernier message: 12/06/2008, 20h59
  4. Rechercher/Remplacer dans un fichier excel
    Par godmich dans le forum VB.NET
    Réponses: 2
    Dernier message: 03/01/2008, 09h12
  5. Afficher, rechercher et remplacer dans un fichier
    Par lynal dans le forum Langage
    Réponses: 1
    Dernier message: 13/06/2006, 21h24

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