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 :

extraction des caractères inclus entre " " [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Par défaut extraction des caractères inclus entre " "
    Bonjour,

    je cherche à faire un fichier bat (baseline.bat) qui va extraire d'un fichier (baseline.txt) la chaine de caractère présente entre les 2 premiers symboles " du fichier texte, et va mettre cette chaine de caractère dans une variable %BASELINE%.

    La première ligne de baseline.txt est :
    Created baseline "baseline_test_20140423_151319.97" in component "COMPONENT_1".

    je veux donc avoir %BASELINE%="baseline_test_20140423_151319.97".

    Je ne sais pas du tout comment faire cela. Est-ce que quelqu'un aurait une piste ?

    Merci

  2. #2
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Salut,

    C'est toujours sur la première ligne que tu dois récuperer ton "Baseline_..." ?

    et est-ce que tu as toujours la même structure :

    Created baseline "baseline_test_20140423_151319.97" in component "COMPONENT_1"

    si c'est le cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @echo off
    for /f "tokens=3 delims= " %%a in (baseline.txt) do (
    set baseline=%%a
    goto:next)
    
    :next
    echo %baseline%

  3. #3
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Par défaut
    Bonjour Sachadee et merci beaucoup pour l'astuce ,je n'avais pas pensé à couper entre les espaces vides au lieu des double quotes.

    En revanche, il me reste les double quotes dans la variable : %BASELINE%="baseline_test_20140423_151319.97"
    (au lieu de %BASELINE%=baseline_test_20140423_151319.97)

    J'ai essayé plusieurs commandes pour supprimer les double quotes, mais les résultats ne sont pas bons :
    set BASELINE=%BASELINE:"=% => il m'affiche "=
    set BASELINE=%BASELINE:~1,-1% => il m'affiche ~1,-1

    Est-ce qu'il y aurait un autre moyen du coup ?

  4. #4
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Par défaut
    Citation Envoyé par xdebr Voir le message
    set BASELINE=%BASELINE:~1,-1% => il m'affiche ~1,-1
    ah si ça marche j'avais mal placé cette ligne dans le script.

    J'ai presque envie de mettre résolu, mais je voudrais juste comprendre :
    à quoi sert le goto:next dans ce script ?

  5. #5
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    à quoi sert le goto:next dans ce script ?
    Si tu n'as qu'une ligne dans ton fichier "baseline.txt" à rien.

    Il est juste là pour sortir de la boucle après avoir lut la première ligne au cas où il y aurais plus d'une ligne.


  6. #6
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Par défaut
    Citation Envoyé par sachadee Voir le message
    Si tu n'as qu'une ligne dans ton fichier "baseline.txt" à rien.

    Il est juste là pour sortir de la boucle après avoir lut la première ligne au cas où il y aurais plus d'une ligne.

    OK merci beaucoup pour le coup de main et les explications

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 10/12/2014, 10h00
  2. Réponses: 7
    Dernier message: 21/10/2010, 13h30
  3. Script shell : afficher le contenu des variables entre simple quote
    Par mualki dans le forum Shell et commandes GNU
    Réponses: 10
    Dernier message: 23/01/2010, 00h14
  4. Réponses: 6
    Dernier message: 08/08/2006, 09h14

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