Tutoriel sur la programmation Batch Par Adrien REBOISSON - rabusier@aol.com Tab

Tutoriel sur la programmation Batch Par Adrien REBOISSON - rabusier@aol.com Table des matières Introduction Qu'est ce qu'un fichier Batch Créer des fichiers batch avec PowerBatch I] Création du fichier batch "Hello, Word !" Votre premier fichier Batch Comment fonctionne-t-il ? La commande ECHO L'écho local Afficher une ligne vide Commentez votre code Les caractères accentués II] Utilisation de commandes DOS dans un fichier Batch Qu'est-ce qu'une commande DOS La variable PATH Arguments passés à une commande, à un fichier Créez vos commandes avec les Batch. III] Variables d'environnement Qu'est ce qu'une variable d'environnement Définir, modifier, supprimer, une variable d'environnement Lire les valeurs des variables d'environnement Insérer des définitions dans Autoexec.bat IV] Sauts inconditionnels Qu'est ce que les sauts inconditionnels La commande GOTO La commande LABEL V] Exécution conditionnelle A quoi servent les commandes d'exécution conditionnelles Les différentes formes de ces commandes et l'intérêt de leurs combinaisons : IF, IF NOT, IF EXIST… VI] Boucles La commande For… Do… VII] La compilation Qu'est ce que la compilation Comment compiler un fichier Batch Les erreurs de compilation VIII] Les bordures Générer des bordures en utilisant l'assistant dans PowerBatch IX] Ecriture dans des fichiers Écriture en mode ajout Écriture en mode écrasement Écriture de résultats de commande Redirection vers le périphérique virtuel NUL X] Appel d'autres fichiers Batch Utilisation de fichiers Batch come sous-programme Lancement d'autres fichiers Batch XI] Travail avec ERRORLEVEL Utilisation de la commande ERRORLEVEL XII] 5 autres fonctions de PowerBatch Test ligne, test bloc, test pas à pas Les modèles L'assistant XCOPY La commande CHOICE Le convertisseur HTML Avertissement : Ce tutoriel n'a pas pour vocation de remplacer un livre dédié à la programmation Batch, mais surtout d'initier le programmeur débutant à cette technique. Il n'est pas exempt d'erreurs, si vous en repérez, merci de me contacter par mon e-mail rabusier@aol.com La version la plus récente de ce manuel sera toujours publiée sur http://astase.com4.ws 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 games superjeu.exe Cela aurait le même effet que si vous tapiez sous DOS les commandes suivantes : C:\Chemin> cd \ [Entrée] C:\> cd games [Entrée] C:\games> superjeu.exe [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 "transferts" sur différents disques et supports de stockage. Cependant… • 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, • Les fichiers Batch sont directement éditables, donc votre code n'est pas "protégé" à la copie par d'autres programmeurs, • Enfin, et surtout, des opérations élémentaires telles que 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 existent, selon les cas). 2°) Création de fichiers Batch avec PowerBatch Il existe un logiciel nommé PowerBatch permettant de créer très facilement des fichiers Batch, en utilisation libre en plus. Nous allons apprendre à nous en servir pour créer nos fichiers Batch. 1°) Télécharger le fichier depuis http://astase.com4.ws 2°) Décompressez le fichier ZIP, lisez attentivement les fichiers "Lisez – moi", puis installez le logiciel (Si besoin est, vous devez à un moment redémarrer votre PC puis recommencer l'installation). 1°) Création du fichier Batch "Hello, Word" Nous allons nous atteler à la programmation d'un fichier affichant à l'écran le traditionnel "Hello Word" en langage Batch. La capture d'écran ci-dessous vous montre l'écran du logiciel lorsque vous le lancez. Dans la zone de texte, tapez : Echo Hello Word ! Qu'est ce que vous venez d'écrire ? • Vous avez écrit la commande "Echo" permettant d'afficher du texte à l'écran. Cette commande exige un paramètre : le texte qu'elle doit afficher à l'écran. Le paramètre est donc placé à droite de la commande, séparé par un espace. En réalité, ECHO est utilisé pour faire sortir tous types de données dans n'importe quel périphérique (et même dans un fichier). Dans notre cas nous l'utilisons pour faire sortir des données sur l'écran d'un ordinateur, nous allons donc dire pour l'instant que ECHO est une commande permettant d'afficher du texte à l'écran. Remarquez l'absence de guillemets, par rapport à d'autres de langages de programmation exigeant que les variables littérales soient distinguées par des guillemets. NOTE IMPORTANTE : MS-DOS n'est pas sensible pour les commandes à la différence entre les majuscules et les minuscules, que vous écriviez echo ou Echo, ou bien encore ECHO ou EcHo, le résultat sera le même. PowerBatch possède une fonction bien pratique permettant de tester le fichier Batch en cours. Pressez F6, ou exécutez la commande "Test global" situé dans le sous-menu "Tests" du menu "Programme". Une fenêtre DOS apparaît, avec le resultat suivant : Le DOS nous a bien affiché notre résultat, MAIS il apparaît comme si on venait d'entrer les commandes séparément sous DOS : En effet, on distingue l'invite (c:\Program Files\PowerBatch>), la commande (Echo Hello, Word !), son résultat dessous, puis un second invite. Nous souhaiterions que seuls les résultats des commandes apparaissent à l'écran. Il va falloir utiliser l'écho local. L'écho local est une fonction permettant ou non de voir uniquement les résultats des commandes entrées. Ci-dessus, l'écho local est activé, puisque l'on voit l'invite DOS et les commandes comme si on les avait tapés sous DOS. Il va falloir désactiver cet écho en tapant : Echo off Qu'est ce que vous venez d'écrire ? • Vous avez écrit la commande "Echo" permettant d'afficher du texte à l'écran, mais vous avez transmis un paramètre particulier à la commande : il s'agit du paramètre "off", qui désactive l'écho local. Cette commande accepte aussi le paramètre "on" qui permet d'activer cet écho. Vous avez donc dans le cas présent désactivé l'écho local. Testez de nouveau le fichier en écrivant donc : Echo off Echo Hello Word ! Puis pressez ensuite F6 : Voilà comment le programme s'est déroulé : • L'écho est sur ON : le programme affiche toutes les commandes avant de les exécuter. Là, le programme a rencontré la commande "echo off". Il l'a affiché, puis l'a executé. L'écho est maintenant sur OFF, il est désactivé. • Le programme rencontre la commande "Echo Hello, Word !". Il se contente donc d'afficher "Hello, Word !" à l'écran. Néanmoins, on voit toujours l'invite en haut, ainsi que "echo off". Il nous faut donc trouver un moyen de les supprimer. La commande "@" est adapté à notre cas : elle permet de désactiver immédiatement l'écho pour une ligne, il suffit juste de faire précéder la ligne de ce signe. On a donc : @Echo off Echo Hello Word ! Pressez F6 pour executer le fichier et batch… Et là, on a enfin que ce que l'on cherche : A retenir… • La commande "echo", pour afficher un texte, • Qu'est ce que l'écho local, • Le paramètre "off" pour désactiver l'écho local, "on" pour l'activer, • Le caractère "@" pour désactiver l'écho local sur une ligne. Aller plus loin : La commande "echo." permet d'afficher une ligne vide. On peut donc afficher un petit texte, par exemple : @Echo off Echo Bonjour, c'est l'ordinateur qui te parle ! Echo. Echo N'ai pas peur… je ne te veux aucun mal. Echo. Echo J'espere que tu vas bien. Echo Moi, c'est le cas ! Echo. Donne : Commentez votre code Essayons de prendre les bonnes habitudes tout de suite… Pour vous et sur le moment, votre code vous paraît parfaitement clair. Mais le sera t-il dans un mois ou lu par une autre personne ? Il est donc nécessaire d'insérer des remarques, appelées "commentaires" dans vos fichiers. La commande "REM" (REMark) est là pour vous ! Il suffit simplement d'apposer votre commentaire après la commande, par exemple : @echo off REM Formatage de la disquette Format a: REM Creation du dossier uploads/Industriel/ 01-la-programmation-batch-les-debuts-pdf 1 .pdf

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