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 :

[Batch DOS] externalisation de paramètres


Sujet :

Scripts/Batch

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 66
    Par défaut [Batch DOS] externalisation de paramètres
    Bonjour,

    J'ai 2 scripts qui utilisent les même paramètres (cmd1.bat et cmd2.bat).
    Je souhaite utiliser un 3ème fichier (param.bat par exemple) contenant les paramètres et le charger à partir des 2 autres fichiers (cmd*.bat).

    J'ai fait plusieurs tests :
    1) appel avec la commande "param.ini" -> le fichier param s'ouvre avec Notepad et n'est pas interprété
    2) appel avec la commande "param.bat" -> le process est tué à la fin de l'exécution de param.bat donc la suite de cmd1.bat n'est pas exécutée

    Ce script doit fonctionner sous Win XP et NT

    Quelle est la commande permettant de charger/interpréter les commandes du fichier avec les paramètres ?

    PS : je pratique plutôt le scripting sous Linux et le passage sous Windows demande un petit temps d'adaptation.

    Merci d'avance pour vos réponses

    TJ

  2. #2
    Expert confirmé
    Avatar de shawn12
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Avril 2006
    Messages
    3 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2006
    Messages : 3 368
    Par défaut
    Tu fais un script qui crée tes paramètres (param.bat) avec set je suppose.

    Si tu veux appeler le script à partir de cmd1 et cmd2, il te suffit de mettre le nom du script dans la première instruction de cmd1.bat et cmd2.bat.

    C'est comme ca que tu as fait ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 66
    Par défaut
    C'est ce que j'ai fait :

    param.bat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    set param1=val1
    set param2=val2
    cmd1.bat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    param.bat
    echo %param1%
    pause
    Malheureusement dans cmd1.bat, un fois le param.bat exécuté le process est tué donc la commande echo n'est pas exécutée.

    Une idée ?

  4. #4
    Membre Expert Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Par défaut
    Ajoute un call devant param.bat.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 66
    Par défaut
    merci avec call ça fonctionne !


    cmd1.bat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    call param.bat
    echo %param1%
    pause
    J'avais testé le call mais avec mon fichier param.ini du coup notepad s'ouvrait...
    Par contre quelle est la différence entre call et @call ?

  6. #6
    Membre Expert Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Par défaut
    Le @ permet de ne pas afficher la commande dans la console avant de l'exécuter.
    Ainsi par exemple on commence souvent un script, une fois la phase de debug finie, par @echo off. Le echo off permet de n'afficher aucune commande et le @ de ne pas l'afficher lui même.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 66
    Par défaut
    et bien merci beaucoup !
    J'ai vraiment posé 2 questions de newbie... mais j'en ressors grandi

    Thread officiellement Résolu

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

Discussions similaires

  1. Batch Dos sous XP : créer un shared folder
    Par jeff37 dans le forum Windows XP
    Réponses: 2
    Dernier message: 06/03/2006, 10h27
  2. Sauvegarde par un batch dos
    Par faayy dans le forum Access
    Réponses: 24
    Dernier message: 22/06/2005, 21h12
  3. [BATCH-DOS] Sur quel forum poster ?
    Par Beaunico dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 17/09/2004, 18h30
  4. un batch DOS pour "nettoyer des fichiers" ?
    Par RoroMinator dans le forum Scripts/Batch
    Réponses: 9
    Dernier message: 12/02/2004, 16h24
  5. 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