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

Scripts/Batch Discussion :

Remplacement d'une phrase dans un fichier [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 27
    Par défaut Remplacement d'une phrase dans un fichier
    Bonjour à tous,

    Je cherche à automatiser les différentes modifications de fichiers de configuration. Pour cela je cherche une phrase et souhaite la remplacer.
    Après plusieurs tests, lecture du forum et sur le net je n'y parviens pas.

    Pour le moment, mon script doit juste afficher trouvé ou pas trouvé mais le script plante lors du test dans le if.

    Pourriez vous m'aider. D'avance merci

    Code Bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    @echo off
    cls
    SETLOCAL ENABLEEXTENSIONS
    SETLOCAL ENABLEDELAYEDEXPANSION
     
    cd c:\Program Files\Apache Software Foundation\Apache2.2\conf\
     
    set chaine=#LoadModule ssl_module modules/mod_ssl.so
     
    for /f "delims=" %%i in ('type "httpd.conf"') do (
    	if %%i==%chaine% (echo trouve) else (echo pas trouve)
    )
    pause

  2. #2
    Membre émérite Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Par défaut
    Bonjour,
    Ceci peut vous intéresser:
    http://www.developpez.net/forums/d14...fichier-texte/

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 27
    Par défaut
    bonjour devilsnake88

    Merci beaucoup pour le lien, tout fonctionne à présent.

    Par contre pourrais tu m'expliquer à quoi sert :

    le symbole dans
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "tokens=1,* delims=¶" %%A in ( '"type !FichierTexteAremplacer!"') do (
    et cette ligne
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    SET modified=!string:%Chercher%=%Remplacer%!

    D'avance merci pour tes explications

  4. #4
    Membre émérite Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Par défaut
    Alors:

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    SET modified=!string:%Chercher%=%Remplacer%!
    Dans le contenu du fichier (!string!) on cherche ce qu'on veut remplacer (%Chercher%) et si on le trouve, on le remplace par ce qu'on veut (%Remplacer%)

    Et "¶" est le symbole pour désigner un paragraphe, en gros (et si je ne me trompe pas) on dit au script de vérifier ligne par ligne.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 27
    Par défaut
    Encore merci pour l'info.

    J'ai une dernière question, comment échapper les " avant le C et après le s dans cette ligne pour éviter une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set "Chercher=DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs""
    j'ai essayé avec ^ et \ mais ça ne fonctionne pas

  6. #6
    Membre émérite Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Par défaut
    Quelle erreur?

    Sinon essaye avec
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    set Chercher=DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
    Mais j'ne doute, j'aimerais en savoir plus sur l'erreur.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 27
    Par défaut
    Salut,

    Réellement il n'y a pas d'erreur, mais le script n'effectue pas le remplacement. J'ai même essayé ta dernière ligne et ça ne fonctionne pas non plus

    Etrange

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 27
    Par défaut
    Salut,

    J'ai contourné le problème en mettant comme champs de recherche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:/Program Files/Apache Software Foundation/Apache2.2/htdocs
    Encore merci pour l'aide

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

Discussions similaires

  1. Ecriture d'une phrase dans un fichier texte
    Par pghm77 dans le forum C
    Réponses: 11
    Dernier message: 09/06/2008, 08h48
  2. Recherche d'une phrase dans un fichier txt
    Par beegees dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 03/07/2007, 08h44
  3. Rechercher un mot ou une phrase dans un fichier
    Par cellendhyll dans le forum Général Python
    Réponses: 3
    Dernier message: 12/06/2007, 11h52
  4. [RegEx] Recherche et Remplacement d'une chaîne dans un fichier
    Par jpascal dans le forum Langage
    Réponses: 5
    Dernier message: 18/02/2007, 19h35
  5. tirer une phrase dans un fichier
    Par allowen dans le forum Langage
    Réponses: 2
    Dernier message: 25/10/2006, 16h22

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