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

Autres Logiciels Discussion :

[DOS] Variables dans un batch


Sujet :

Autres Logiciels

  1. #1
    Membre habitué
    Avatar de Amnesiak
    Profil pro
    Inscrit en
    Août 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2002
    Messages : 137
    Points : 151
    Points
    151
    Par défaut [DOS] Variables dans un batch
    Bonjour à tous,

    Même dans un environnement Windows, les petits scripts batch s'avèrent toujours très utiles. Encore faut-il savoir les écrire... car en ce qui me concerne, je bloque sur un étrange petit problème :

    J'ai crée un script dans lequel j'initialise quelques variables d'environnement afin qu'elles soient utilisées par une commande appelée plus loin dans le script.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SET MYSQLDB = mydatabase
    SET MYSQL_USER = myuser
    SET MYSQL_PWD = mypwd
    
    mysql -u %MYSQL_USER% -p%MYSQL_PWD% %MYSQLDB% < schema.sql
    Or, je constate que la commande mysql reçoit des valeurs vide car le script m'affiche l'erreur: "no database selected"

    Est-ce bien la bonne syntaxe pour transmettre le contenu d'une variable en argument d'une commande ?
    Merci d'avance pour vos suggestions

  2. #2
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2004
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Février 2004
    Messages : 345
    Points : 420
    Points
    420
    Par défaut
    tu as mis un espace entre -u et %MYSQL_USER% mais pas entre -p %MYSQL_PWD% est-ce que c correct ?

    essaie avec la syntaxe:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql  --user=%MYSQL_USER% ---password=%MYSQL_PWD% %MYSQLDB% < schema.sql

  3. #3
    Membre habitué
    Avatar de Amnesiak
    Profil pro
    Inscrit en
    Août 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2002
    Messages : 137
    Points : 151
    Points
    151
    Par défaut
    Merci pour ta réponse,
    Malheureusement le problème se présente aussi avec ta notation

    D'autres idées ?
    Merci

  4. #4
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2004
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Février 2004
    Messages : 345
    Points : 420
    Points
    420
    Par défaut
    oups j'ai mis un "-" de trop je crois:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql  --user=%MYSQL_USER% --password=%MYSQL_PWD% %MYSQLDB% < schema.sql
    et sinon, le coup de l'espace entre -u et %MYSQL_USER% ?


    sinon, pour etre sûr, lorsque tu fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SET MYSQLDB = mydatabase
    SET MYSQL_USER = myuser
    SET MYSQL_PWD = mypwd 
    
    echo %MYSQLDB%
    echo %MYSQL_USER%
    echo %MYSQL_PWD %
    est-ce qu'il t'affiche bien les bonnes données des variables ?

  5. #5
    Membre habitué
    Avatar de Amnesiak
    Profil pro
    Inscrit en
    Août 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2002
    Messages : 137
    Points : 151
    Points
    151
    Par défaut
    Citation Envoyé par xufux
    oups j'ai mis un "-" de trop je crois:
    Oui, mais j'avais déjà corrigé cette petite faute de frappe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SET MYSQLDB = mydatabase
    SET MYSQL_USER = myuser
    SET MYSQL_PWD = mypwd 
    
    echo %MYSQLDB%
    echo %MYSQL_USER%
    echo %MYSQL_PWD%
    Etrangement, ce code ne m'affiche pas le contenu des variables ! J'ai droit à 3 lignes m'indiquant "ECHO is on.", exactement comme lorsqu'on appelle la commande ECHO sans paramètre. J'en déduis que les variables ne sont donc pas initialisées... mais pourquoi ?

    EDIT: Je travaille dans la console de Windows XP, au cas où cela aurait une importance...

  6. #6
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2004
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Février 2004
    Messages : 345
    Points : 420
    Points
    420
    Par défaut
    enleve les espaces dans tes lignes "SET":
    tu me dis merci et tu cliques sur résolu ! LOL

  7. #7
    Membre habitué
    Avatar de Amnesiak
    Profil pro
    Inscrit en
    Août 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2002
    Messages : 137
    Points : 151
    Points
    151
    Par défaut
    My god ! 'me cassais la tête là dessus depuis quelques heures ! Bravo en tout cas, bien vu

    Et surtout, un grand merci à toi!
    Bonne journée

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 14/12/2010, 12h18
  2. (echo *> ftp) & (formulaire hta,variable dans un batch)
    Par wnx83 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 30/03/2009, 18h59
  3. recuperer date dans un batch et la placer en variable
    Par Phenomenium dans le forum Windows
    Réponses: 6
    Dernier message: 07/06/2004, 10h44
  4. Réponses: 5
    Dernier message: 01/10/2003, 15h03

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