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 :

Lecture valeur dans un fichier de config [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant communication & réseaux
    Inscrit en
    Novembre 2014
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant communication & réseaux

    Informations forums :
    Inscription : Novembre 2014
    Messages : 57
    Par défaut Lecture valeur dans un fichier de config
    Hello,

    J'ai un souci pour lire une variable dans un fichier de config.

    Dans mon fichier de config la valeur de mon paramètre se presente sous la forme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HostName = XX.XXX.XXX.XXX
    Le bout de code permettant de recupérer la valeur de "Hostname =" est :
    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "tokens=1,2 delims==" %%a in (%CHEMIN_FICHIER_CONFIG%\cfg\config.cfg) do ( if %%a==HostName SET HostName=%%b)

    Si je supprime les espaces entre le nom du paramètre et la valeur dans le fichier de config, je recupère bien ma valeur avec la ligne de commande ci dessus.
    Par contre, si je conserve les espaces ma variable est vide. Je pense qu'il s'agit d'un probleme de syntaxe mais je n'arrive pas à trouver. Pour info, je n'ai pas le choix
    de garder les espaces car cela m'est "imposé".

    Merci pour votre aide,

    Bonne semaine,

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Gérons le alors

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @echo off
    SETLOCAL ENABLEDELAYEDEXPANSION
     
    for /f "tokens=1,2 delims==" %%a in (config.cfg) do (
    	set item=%%~a
    	set item=!item:~,-1!
    	set value=%%~b
    	set value=!value:~1!
    	if "!item!"=="HostName" SET HostName=!value!
    )
     
    pause

  3. #3
    Membre confirmé
    Homme Profil pro
    Consultant communication & réseaux
    Inscrit en
    Novembre 2014
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant communication & réseaux

    Informations forums :
    Inscription : Novembre 2014
    Messages : 57
    Par défaut
    Hello ericlm128,

    merci pour ta réponse, entre temps, je pense avoir trouvé la réponse:

    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "tokens=1,3 delims= " %%a in (%RA_PATH%\%RA_INSTANCE%\cfg\sagta_ra.cfg) do ( if %%a==HostName SET HostName=%%b)

    ça fait le job on dirait bien

    Merci beaucoup

  4. #4
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    ca fait le job on dirait bien
    Ça ne le fera plus lorsque tu aura un espace dans une valeur ou nom de valeur

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

Discussions similaires

  1. [WD15] Lecture d'une valeur dans un fichier
    Par kinansoag dans le forum WinDev
    Réponses: 8
    Dernier message: 28/06/2011, 14h27
  2. Recuperation d 'une valeur dans le fichier web.config
    Par kaskroute dans le forum ASP.NET
    Réponses: 15
    Dernier message: 31/01/2011, 12h44
  3. [batch]récupération de valeur dans n fichiers
    Par Ted37 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 12/02/2009, 08h00
  4. Lecture de valeurs dans un fichier texte (txt)
    Par zerbault dans le forum Fortran
    Réponses: 2
    Dernier message: 22/01/2007, 10h29
  5. probleme lecture ecriture dans des fichiers
    Par xman_genius dans le forum C
    Réponses: 9
    Dernier message: 16/01/2007, 19h50

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