-
script batch en série
Bonjour,
Voici ce que j'ai :
Dans .bat (1) j'appelle 4 autres .bat qui font chacun un export (exp) de bases Oracle dans des fichiers (dump).
Les 4 exports fonctionnent trés bien séparemment. Par contre, si je lance le .bat (1), il lance bien le premier export et ferme la fenêtre sans lancer la suite.
Comment puis-je contourner le problème sans devoir les lancer un par un ?
Merci d'avance de vos réponses.
-
C'est probablement la façon dont tu appeles tes sous-batchs qui est mauvaise couplé avec des exit en fin de sous batch.
Avec des start /WAITça devrait aller mieux.
-
Merci de ta réponse.
Par contre cette solution ne résoudra pas mon problème.
Pour mieux comprendre, je mets le code (assez simple) qu'il y a dans mes sous batch :
exp base/user@mdp -full file=c:\save\base.dmp
J'ai x instances Oracle, donc je fais x sauvegardes. Le problème c'est qu'il fait bien la première (ouvre la fenêtre dos) mais pas les suivantes (ferme la fenêtre dos à la fin de la première sauvegarde).
Je ne vois pas comment solutionner ce problème.
Merci de votre aide.
-
Et en quoi ça ne solutionnera pas ton problème ? As tu au moins essayé ?
Le start /WAIT va ouvrir ton sous-batch dans une nouvelle fenetre de commande. Quand ce dernier va terminer le batch principal qui est dans un cmd séparé va reprendre.
J'ai fait (vraiment par acquis de conscience) un test avec des sous-batchs contenant des exit, et je reproduit bien ton problème sans les start et aucun soucis avec.
Meme si la je ne peux pas tester avec des export Oracle, je doute que ça change grand chose.
En dehors de cela, c'est qu'il manque des infos pour t'aider, il nous faudrait ton batch chapeau et le contenu complet d'un sous-batch.
-
Effectivement, autant pour moi, j'avais lu des posts sur comment marche le start/wait et je pensais que ça n'irait pas.
Merci à toi d'avoir insisté et pour tes réponses. Et ça m'apprendra à ne pas tester :oops:.
J'ai quand même un souci dans le déroulement :
- Il ouvre une fenêtre dos (cmd) et de suite il en ouvre une 2ème où il exécute le 1er sous batch.
- Quand le 1er sous batch est terminé, il faut que je ferme manuellement la 2ème fenêtre pour que sur la 1ere il me demande si je souhaite terminer le programme de commande (réponse par 'O' ou 'N').
- Ce n'est que quand j'ai répondu à la question qu'il me lance le 2ème sous batch
N'est-il pas possible de fermer automatiquement la 2ème fenêtre dès que le sous batch est terminé et répondre en automatique à la question ?
J'ai cherché les options du start/wait sur Internet et dans cmd, je n'ai pas trouvé d'option.
Encore merci pour les réponses.
-
Tu peux ajouter un exit dans tes sous batchs.
Mais c'est suprenant, je vois pas pourquoi la il te fermerait pas les fenetre alors qu'il te le faisait avant. Tu utilisais quoi pour appeler tes sous-batchs ?
Essaye un call sinon (sans le exit), si ce n'est pas ce que tu faisais.
-
C'est bon, il suffisait bien d'ajouter un exit dans les sous batch.
Pourquoi au départ il les fermait et qu'après il les fermait plus sans coder un exit, ça c'est un mystère.
Encore merci pour tes réponses et ta patience Drizzt.
Bonne journée.