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

Langage Perl Discussion :

executer .bat via .pl


Sujet :

Langage Perl

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 58
    Par défaut executer .bat via .pl
    Bonjour
    j'ai besoin de votre aide sur la fonction "system", enfait je veux executer un script .bat via un script perl; pour cela je fais:

    system ("param.cmd test");
    print $ENV{"var1"};
    ce script param est un script de parametrage définissant un ensemble de variables nécessaires pour le script .pl et pour d'autres batch aussi.

    quand je lance l'execution de mon .pl je vois bien que le .cmd est aussi executé mais l'affichage ne donne rien aucune variable n'est gardée en memoire pourtant toutes les variables définies sont globales (ex: set var1=%path%). je verifie aussi via l'invite de commande mais je trouve la meme chose, les variables ne sont pas initialisées
    echo %var1%
    %var1%
    j'ai essayé aussi avec la fonction "do" mais apparemment elle ne fonctionne qu'avec les script perl.

    quelqu'un a une idée?

    merci d'avance

  2. #2
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Les variables dont tu parles ne sont pas "globales", ce sont ce qu'on appelle des variables d'environnement, et sous Linux comme sous Windows, quand un processus modifie ses variables d'environnement, seuls lui-même et les processus qu'il lance voient ces modifications... En d'autres termes, ton script Perl ne peut pas voir les modifications effectuées par ses fils.

    Pour communiquer avec un script, généralement on utilise les entrées sorties, ou un fichier intermédiaire, etc... Mais les variables d'environnement ne sont pas une bonne solution.

    --
    Jedaï

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 58
    Par défaut
    oui, c'est un fichier de parametrage utilisé par plusieurs scripts .bat et là je dois utiliser le meme pour mes .pl donc c'est des variables d'environnement
    je vais essayer d'utiliser les entrées sorties comme vous dites, et je vous tiens au courant
    merci pour votre aide

Discussions similaires

  1. Probleme execution projet via .bat
    Par Tsukaasa dans le forum Général Java
    Réponses: 6
    Dernier message: 25/08/2008, 11h54
  2. execution .bat error=2
    Par La Goule dans le forum Langage
    Réponses: 7
    Dernier message: 30/07/2007, 10h39
  3. SSIS - Execution package via agent SQLServer
    Par sandmil dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 06/07/2007, 10h50
  4. Executer .bat en arrière plan
    Par Freektrax dans le forum C++Builder
    Réponses: 27
    Dernier message: 08/01/2007, 08h28
  5. Executer Procedure via un bouton de formulaire
    Par SylvainJ dans le forum Access
    Réponses: 3
    Dernier message: 20/07/2006, 17h02

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