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 :

problème de & interprété


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut problème de & interprété
    Bonjour,
    J'ai un fichier config.cmd qui contient :
    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @echo off
    set projectsToPackage=../Sources_a_compiler\toto\R&D\Proj1,../Sources_a_compiler\tutu\Proj2,../Sources_a_compiler\titi\Proj3
    ...
    et un fichier buildpackages.cmd qui contient :
    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @echo off
    Setlocal EnableDelayedExpansion
    set scriptFolder=%~dp0
    cd %scriptFolder%
    @call %rootFolder%\_setup\config.cmd
    ...
    for %%p in ( %projectsToPackage% ) do (
    echo argument is '%%p'
    )
    ...

    Le problème est que dans ma boucle for, ce qui ressort dans %%p est ../Sources_a_compiler\toto\R au lieu de ../Sources_a_compiler\toto\R&D\Proj1
    Comment faire pour avoir la bonne valeur ?
    J'ai essayé d'entourer chaque valeur de mon set projectsToPackage par des guillemets double, cela fonctionne presque mais ma valeur %%P contient les guillemets donc ce n'est pas bon en fait.
    J'ai essayé en mettant ^ devant & mais ça me ressort l'erreur "& était inattendu."
    Merci si vous voyez comment obtenir ce que je recherche.

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 549
    Par défaut
    Bonjour,

    Essaie comme ceci :

    Code batch : 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
    @echo off
    Setlocal EnableDelayedExpansion
    set scriptFolder=%~dp0
    cd %scriptFolder%
    @call %rootFolder%\_setup\config.cmd
    ...
     
    set "projectsToPackage=../Sources_a_compiler\toto\R&D\Proj1,../Sources_a_compiler\tutu\Proj2,../Sources_a_compiler\titi\Proj3"
    call :fonction projectsToPackage
     
    pause
    exit
     
    :fonction
     
    for %%p in (!%1!) do (
    echo argument is '%%p'
    )
     
    goto :eof

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    Bonjour,
    Merci mais cela doit rester scindé en 2 fichiers.
    Je ne pense pas que ce soit possible avec ton option, si ?

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 549
    Par défaut
    Citation Envoyé par jmclej Voir le message
    Bonjour,
    Merci mais cela doit rester scindé en 2 fichiers.
    Je ne pense pas que ce soit possible avec ton option, si ?

    Pas de problème ça peut rester scindé en 2 fichiers :

    config.cmd :
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @echo off
    set "projectsToPackage=../Sources_a_compiler\toto\R&D\Proj1,../Sources_a_compiler\tutu\Proj2,../Sources_a_compiler\titi\Proj3"
    ...

    buildpackages.cmd :
    Code batch : 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
    @echo off
    Setlocal EnableDelayedExpansion
    set scriptFolder=%~dp0
    cd %scriptFolder%
    @call %rootFolder%\_setup\config.cmd
    ...
     
    if defined projectsToPackage (call :fonction projectsToPackage)
     
    pause
    exit
     
    :fonction
     
    for %%p in (!%1!) do (
    echo argument is '%%p'
    )
     
    goto :eof

  5. #5
    Membre éclairé
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    Alors ça marche presque sauf que j'ai un projet supplémentaire dans projectsToPackage dont le nom contient des espaces et il les prend comme des séparateur, comme les virgules entre chaque projet...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    projectsToPackage=../Sources_a_compiler\toto\R&D\Proj1,../Sources_a_compiler\tutu\Proj2,../Sources_a_compiler\titi\Proj3,../Sources_a_compiler\titi\Pr oj 4
    Comment peut-on éviter cela ?

  6. #6
    Membre émérite
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 549
    Par défaut
    Je viens de tester, il suffit de rajouter des double-quotes autour du projet 4.

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    set "projectsToPackage=../Sources_a_compiler\toto\R&D\Proj1,../Sources_a_compiler\tutu\Proj2,../Sources_a_compiler\titi\Proj3,"../Sources_a_compiler\titi\Pr oj 4""

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/06/2016, 22h43
  2. Problème Htaccess non interprété
    Par nazoreen dans le forum Apache
    Réponses: 8
    Dernier message: 16/11/2006, 22h09
  3. Problème interprétation expression EL
    Par devor dans le forum JSF
    Réponses: 4
    Dernier message: 12/07/2006, 12h04
  4. Réponses: 18
    Dernier message: 12/06/2006, 09h39
  5. Problème d'interprétation XSL XML
    Par ForceTranquille dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 22/03/2006, 15h53

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