Enchainement de fichier d'instruction dans un batch

Enchainement de fichier d'instruction dans un batch - Shell/Batch - Programmation

Marsh Posté le 09-12-2005 à 11:12:56    

Kikoo les gens
 
j'ai une gröss suite d'instruction a enchainer pour decompresser des fichier textes (environs 10000 fichiers/semaine)   et les engouffrer dans une base de données SQL
 
j'ai d'abord un fichier BATCH qui pour chaque fichier appel PKUNZIP a la rescousse et balance le resultat dans un repertoire PANEL créer pour l'occas.
C'est mon fichier BATSEM.BAT
 
puis,  
 
j'ai une serie d'instruction SQL pour gaver la base :
LOAD DATA INFILE 'chemin_fichier_texte' INTO TABLE table_semaine (chaine);
C'est mon fichier SQLSEM.SQL
en ligne de commande je l'execute comme ca :
mysql -u root ma_racine< chemin_sqlsem.sql
 
puis,
 
je destroy PANEL et je recommence pour la semaine suivante.
c'est mon fichier DELSEM.BAT
 
Mon probleme :
 
si je mets dans un fichier batch 1BAT.BAT :
 
DELSEM45.BAT
 
BATSEM46.BAT
mysql -u root xxxx< g:\panel\ttt\SQLSEM46.SQL
DELSEM46
 
BATSEM47.BAT
mysql -u root xxxx< g:\panel\ttt\SQLSEM47.SQL
DELSEM47
 
etc...
 
et ben ça ne s'enchaine pas. Le premier "sous-.bat" finit, il s'arrête la.
 
comment faire (c'est surement très simple mais je ne trouve pas) ?
 
merci


Message édité par Gilgamesh d'Uruk le 14-04-2006 à 12:15:11
Reply

Marsh Posté le 09-12-2005 à 11:12:56   

Reply

Marsh Posté le 09-12-2005 à 11:25:22    

Pour appeler un sous programme .BAT à partir d'un BAT, il faut utiliser la commande CALL.
-----------------------------
CALL DELSEM45.BAT  
 
CALL BATSEM46.BAT  
mysql -u root raffour < g:\panel\ttt\SQLSEM46.SQL  
CALL DELSEM46  
 
CALL BATSEM47.BAT  
mysql -u root raffour < g:\panel\ttt\SQLSEM47.SQL  
CALL DELSEM47  
 
De cette façon, lorsqu'un sous programme BAT est terminé, il "repasse la main" au BAT principal.  :)

Reply

Marsh Posté le 09-12-2005 à 12:19:25    

Ça marche, super.
 
merci


Message édité par Gilgamesh d'Uruk le 09-12-2005 à 12:19:49
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed