[Python] Execution de deux fichiers .bat

Résolu
Norocbzh Messages postés 9 Statut Membre -  
Norocbzh Messages postés 9 Statut Membre -
Bonjour !

J'ai 2 fichiers .bat
Un qui zippe un repertoire et qui l'envoi dans un autre répertoire, et l'autre qui se connecte a un FTP et envoi le fichier zippé sur le FTP.

Lorsque je lance les deux fichiers .bat séparément, ils marchent tous les deux.

par contre, quand je veux les lancer a la suite, seulement le zipper.bat fonctionne...
Je n'arrive pas a executer l'autre, meme quand je le met en premiere position.

Voici mon code :
import os
try :
                os.execl(r'C:\Script_ftp\zipper.bat')
        except Exception ,e :
                print e
        try :
                os.execl(r'C:\Script_ftp\script_ftp_ESGrennes.bat')
        except Exception, e :
                print e

raw_input('Appuyez sur entree pour quitter le programme...')


Si quelqu'un sait pourquoi ca fait ca ^^
Merci
Configuration: Windows XP
Firefox 2.0.0.4

1 réponse

  1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    os.execl crées un objet fichier.
    Je pense que le fait de le fermer permet de détacher ce processus quand il est fini, sinon ça doit gêner.
    Essaie peut être
    import os
    try :
                    p = os.execl(r'C:\Script_ftp\zipper.bat')
                    p.close()
            except Exception ,e :
                    print e
            try :
                    p = os.execl(r'C:\Script_ftp\script_ftp_ESGrennes.bat')
                    p.close()
            except Exception, e :
                    print e
    
    raw_input('Appuyez sur entree pour quitter le programme...')

    D'ailleurs os.system devrait être suffisant pour ce que tu veux faire.
    1
    1. Norocbzh Messages postés 9 Statut Membre
       
      Merci de ta réponse,mais ca fait toujours la même chose.

      C'est seulement celui que je met en premier qui va s'executer...
      Je vois pas pourquoi :'(
      0
    2. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
       
      Essaie avec os.system()
      0
      1. Norocbzh Messages postés 9 Statut Membre > kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention  
         
        ^^

        Ca marche avec os.sytem() ! Les 2 .bats se lancent a la suite. Merci bien !

        Par contre, il me reste un problème...

        A la fin du premier .bat, il faut appuyer sur une touche pour lancer le deuxieme.

        C:\Script_ftp>pause
        Appuyez sur une touche pour continuer...


        et ensuite le deuxieme .bat se lance.

        Est il possible de contourner ca pour que les 2 .bat se lancent a suivre ?

        (Je dois faire tourner ce script en boucle, il ne faut donc pas d'interventions de la part de l'utilisateur)
        Merci
        0
      2. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526 > kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Ah non, là faut modifier le bat.
        0
      3. Norocbzh Messages postés 9 Statut Membre > kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Ok merci, ca marche c'est nickel !

        (J'avais oublié qu'il restait un "pause" dans mon .bat ... -_-" )

        Merci beacoup !!!!
        0