Formation à la programmation Batch Par

      Formation à la programmation Batch Par Adrien REBOISSON – http://www.astase.com Quatrième Édition                                   !"  ## $% &  !"'    !"   (    )*+  ,     ,  -  !"       .    ## %/   0 1   2     2 !"                                ( Table des matières  I] Introduction 3 II] Les bases de la programmation Batch 10 III] Variables et paramètres 17 IV] Sauts, boucles 31 V] Exécution conditionnelle 34 VI] Boucles FOR 38  VII] Redirections 42  VIII] Appel d'autres fichiers Batch 48 IX] Travail avec ERRORLEVEL 49  X] Tâches d’administration courantes 51 Détails sur certaines fonctionnalités de PowerBatch XI] La compilation 58 XII] Les bordures 60 XIII] 5 autres fonctions de PowerBatch 63 XIII] Programmation avancée 66 ANNEXE I] L’intégration MS-DOS sous Windows 69 ANNEXE II] Batch sous Windows NT 76  ANNEXE III] Mots clés ou notions à connaître abordés dans ce tutoriel 86    Ce tutoriel n'a pas pour vocation de remplacer un livre dédié à la programmation Batch, mais surtout d'initier le programmeur novice ou l’administrateur peu habitué à ces techniques. Merci de ne pas hésiter à me signaler toute incohérence, erreur, ou suggestion à propos de ce document via   . Je cherche également toute personne disponible pour étendre ce document ou développer certaines parties, etc…       3 1° ) Introduction Basiquement, un fichier Batch n'est rien de plus qu'un fichier texte contenant des commandes MS-DOS, et possédant le suffixe ".bat". Si vous ne connaissez pas MS-DOS ou n'avez jamais entendu parler de Autoexec.bat, passez votre chemin : en effet, la programmation Batch nécessite une connaissance minimum de l'environnement DOS. En fait, un fichier Batch contient simplement une suite de commandes que vous pourriez taper sous l'invité (prompt) du DOS, chaque nouvelle ligne du fichier correspondant à une nouvelle commande. Néanmoins, certaines commandes ne sont qu'utilisables dans les fichiers batch du fait de leur inutilité dans l'environnement de commande DOS. Leur utilité est, par exemple, quand il faut répéter toujours la même série de commandes. À titre d'exemple, nous pourrions évoquer le changement de répertoire et peut-être aussi la commande FORMAT qu'on fait souvent suivre de la commande CHKDSK pour vérifier si la disquette a bien été formatée. Exemple : Imaginons un fichier batch contenant les commandes suivantes : cd \ cd C:\TOOLS qmail -z:"default.txt" Cela aurait le même effet que si vous tapiez sous DOS les commandes suivantes : C:\Chemin> cd \ [Entrée] C:\> C:\TOOLS [Entrée] C:\TOOLS> qmail -z:"default.txt" [Entrée] L'intérêt des batch est donc d'automatiser des tâches répétitives effectuées sous DOS. Les fichiers batch sont donc très faciles à créer puisqu'un simple éditeur texte suffit (Comme EDIT, sous DOS) Les fichiers batch peuvent également utiliser toutes les commandes DOS, ce qui rend disponible pour le programmeur un grand nombre de fonctions. Enfin, leur taille est relativement légère par rapport à d'autres programmes, ce qui facilite leur transfert sur différents disques et supports de stockage.      4 Cependant… 5 Le langage Batch n'est pas compilé, il est interprété par COMMAND.COM ce qui rend plus lent l'exécution de programmes batch par rapport à des applications écrites directement en langage machine, 5 Les fichiers Batch sont directement éditables, donc votre code n'est pas "protégé" à la copie par d'autres programmeurs, 5 Enfin, et surtout, des opérations élémentaires comme le traitement de chaînes de caractères, d'opérations mathématiques, etc… n'existent pas sous DOS, ce qui implique l'usage de programmes externes (s'ils ont été créés, selon les cas). 2° ) Création de votre premier Batch Un fichier Batch étant à la base un fichier texte, vous pouvez créer vos batchs avec n’importe quel éditeur de texte. Attention : un fichier batch est un fichier texte « brut » (*.txt) sans formatage particulier (gras, italique, souligné). Personnellement, je trouve inutile d’utiliser un programme aussi lourd que Microsoft Word pour écrire un minuscule bout de fichier ASCII ! Préférez le bon vieux Notepad (bloc-note Windows) ou le simpliste mais néanmoins utile EDIT sous DOS, si vous êtes puriste… Si vous débutez ou si vous souhaitez gagner du temps, je ne peux que vous conseiller d’utiliser PowerBatch, un programme que j’ai moi-même écrit et qui facilite le test et le déboguage de vos batchs. Ce tutoriel est plus axé sur l’écriture de vos Batchs avec PowerBatch, mais le langage étant le même que vous utilisiez Notepad ou PowerBatch, ce tutoriel pourra tout de même vous aider dans le cas où vous ne souhaiteriez pas utiliser mon application. PowerBatch est disponible sur http://www.astase.com. Prenons le cas simpliste ou vous souhaitez lister les fichiers DLL du répertoire de Windows (C:\WINDOWS). Vous entreriez sous DOS : C:\Chemin> cd \ [Entrée] C:\> cd WINDOWS [Entrée] C:\WINDOWS> DIR *.DLL [Entrée] Il vous suffit de taper dans un fichier texte les commandes précédentes, comme si vous les entriez sous le prompt MS-DOS :       Facile, non ? La rédaction de votre Batch est terminée. À notre stade, nous avons créé un fichier texte – il faut maintenant le transformer en Batch. Là aussi, pas trop de difficultés : il suffit de changer son extension en .bat sous Windows. Dans notre exemple, test.txt devient donc test.bat. Maintenant, il ne vous reste plus qu’à tester votre Batch ! Un fichier Batch s’exécute sous MS-DOS. Si vous êtes sous MS-DOS, il vous suffit d’appeler le fichier dans la ligne commande. Si vous êtes sous Windows, c’est plus simple puisqu’il suffit de double-cliquer sur l’icône du Batch pour que celui-ci s’ouvre dans une console MS-DOS (Une parfaite simulation du DOS par Windows), et ne s’exécute aussitôt : Que s’est-il passé ? Que vous soyez sous Windows ou sous MS-DOS, c’est le même processus : le fichier batch est transmis à l’interpréteur COMMAND.COM, qui analyse chaque ligne du batch et exécute les commandes rencontrées.      6 Comme vous pouvez le constater, la différence avec d’autres programmes Windows est de taille : alors que les exécutables « normaux » sont des fichiers binaires constitués de macro-instructions destinés directement au processeur, les fichiers batchs contiennent les commandes DOS « telles qu’elles », ce qui explique la nécessité d’un interpréteur pour « traduire » les commandes au processeur ; c’est le rôle de COMMAND.COM – il n’y a donc pas besoin de compiler le code. Si la fenêtre se ferme automatiquement sans vous laisser le temps de visualiser son résultat, rajoutez la commande « PAUSE » à la fin de votre batch. Même si vous ne comprenez pas encore cette commande, sachez que celle-ci demande une validation clavier avant de terminer le programme, ce qui vous laissera le temps de visualiser le contenu de la fenêtre. Comme dit auparavant, les Batchs ont été conçus et s’exécutent sous MS-DOS. Le terme MS-DOS rappelle pour certains la « préhistoire » de l’informatique moderne et peut conduire à un désintérêt total en pensant que le DOS est un système obsolète et désormais « enterré », qui ne mérite de nos jours plus grand intérêt. D’un côté c’est vrai : depuis l’avènement des OS graphiques comme Windows, MS- DOS est en phase de déclin et est de plus en plus abandonné, tant par les développeurs que les utilisateurs. Certains utilisateurs des dernières versions de Windows ignorent même jusqu’à l’existence du DOS ! Et pourtant, si le DOS à part entière n’a pas grand intérêt, la cohabitation MS- DOS/Windows est toujours de nos jours intéressante. Cherchez un langage simple pour automatiser vos opérations sous Windows : le système Batch est là ! Même sous Windows, et ce grâce au DOS, vous pourrez automatiser la plupart de vos opérations. Après la lecture de ce tutoriel, vous pourrez même je l’espère, développer de petits programmes complets et complexes. Pour aborder un tout autre point – certains peuvent se poser la question : Les fichiers batchs peuvent être dangereux pour mon système ? A priori, les fichiers Batch ne sont pas plus dangereux que n’importe quelle application DOS ou Windows. En plus, il suffit d’éditer le fichier pour visualiser son code et se rendre directement compte de la dangerosité potentielle de certaines commandes. Il convient toutefois de rester prudent avec les fichiers batchs de provenance non sûr (en pièce jointe transmise par e-mail par exemple). Etant donné qu’une seule commande peut détruire votre système (ou l’endommager fortement le cas échéant), je vous conseille d’éditer tout fichier Batch non « sûr » avant l’exécution afin uploads/Industriel/ tutoriel-batch 3 .pdf

  • 34
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager