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 :

Recuprer et faire un code de retour en batch [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 082
    Par défaut Recuprer et faire un code de retour en batch
    Bonjour,

    Je suis en train de faire des script batch mais je sus vraiment un débutant total (je suis plus habitué au shell et je suis surpris de la rigidité du batch).

    Bref, il s'agit pour moi de faire un . bat qui va appeler un .pl et renvoyer son code de retour.

    j'ai globalement

    scriptperl.pl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #du code avec des if et dedans des exit(1), exit(2) ...
    exit (0);
    scriptbatch.bat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @echo off
    
    "C:\Perl\bin\perl.exe" "C:\...\scriptperl.pl"
    
    REM c'est ici que je veux renvoyer le code de retour

    J'ai donc essayer d'utiliser %ERRORLEVEL% avec exit.
    Le help de exit me donne

    K:\>help exit
    Quitte le programme CMD.EXE (interpréteur de commandes) ou les script batch
    en cours.

    EXIT [/B] [CodeSortie]

    /B Spécifie la sortie du fichier script en cours au lieu de
    CMD.EXE. Si exécutée à l'extérieur d'un fichier batch,
    cette option terminera CMD.EXE

    CodeSortie Spécifie un nombre. Si /B est utilisé, le paramètre ERRORLEVEL
    est fixé à ce nombre. Lors de la sortie de CMD.EXE, ce nombre
    correspond au code de sortie du processus.

    j'ai essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @echo off
    
    "C:\Perl\bin\perl.exe" "C:\...\scriptperl.pl"
    
    EXIT /B %ERRORLEVEL%

    Pour tester si cela fonctionne, j'ai donc créé un deuxieme .bat

    testbatch.bat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @echo off
    
    "C:\...\scriptbatch.bat"
    
    echo %ERRORLEVEL%
    Cepandant, cela ne semble pas fonctionner.
    J'ai essayer "EXIT /B" sans %ERRORLEVEL% mais pas de meilleur resultat.


    En cherchant comment faire pour clôre un .bat, je suis tombé la dessus
    http://www.robvanderwoude.com/exit.php
    et il semble bien que seul

    EXIT/B coderetour

    fasse ce que je voudrai.
    Avez vous une piste a me donner ?

    Merci beaucoup de votre lecture.

  2. #2
    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
    La méthode que tu décris fonctionne.

    Par contre pour appeler ton batch dans testbatch.bat tu dois utiliser la commande call

    J'ai fait un test et j'arrive bien à avoir la valeur de mon %ERRORLEVEL%.

  3. #3
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 082
    Par défaut
    Bonjour,

    Effectivement, il manquait simplement le call.
    Une fois rajouté, avec la methode decrite avant, cela fonctionne.

    Merci beaucoup et bonne journée.

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 14/11/2006, 14h11
  2. Faire du code asynchrone
    Par cedricgirard dans le forum Langage
    Réponses: 8
    Dernier message: 30/11/2005, 16h39
  3. DELPHI6, Programme console et code de retour
    Par Desraux dans le forum Débuter
    Réponses: 2
    Dernier message: 21/07/2005, 08h15
  4. [Debutant(e)] Code de retour de mon programme
    Par benji999 dans le forum Général Java
    Réponses: 2
    Dernier message: 10/12/2004, 13h15

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