• 4 heures
  • Facile

Mis à jour le 30/01/2018

Débuter avec Batch

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Bonjour et bienvenue dans ce premier chapitre !

Prêt ? Alors allons-y !

Commençons par le commencement : où allons nous écrire nos scripts Batch ?

Où écrire les scripts Batch ?

Il y a deux endroits où vous pouvez écrire un script Batch : dans un fichier texte ou dans l'invite de commande.

Voyons dès maintenant les avantages et les inconvénients de ces deux méthodes.

Dans un fichier texte

La première méthode consiste à mettre notre code dans un fichier qui aura l'extension .bat.

Extension .bat ? Mais enfin, je suis un Roomie moi, je ne parle pas coréen !

Ah bon, je croyais. :) Comme vous l'avez sans doute remarqué, les fichiers que vous ouvrez ont un nom suivi d'un point suivi d'une partie appelée extension ou format de fichier, qui identifie le format du fichier, c'est-à-dire la manière dont les informations sont représentées, la manière dont elles sont encodées. L'ordinateur va chercher les programmes pouvant lire cet un fichier avec un tel encodage, et soit exécuter celui défini par défaut pour un format donné, soit demander à l'utilisateur celui qu'il souhaite utiliser.

Prenons comme exemple ceci :

Ici, tutoriel est le nom du fichier, docx est l'extension des fichiers Word, et le point les sépare.

Pour Batch, il faut créer un fichier ayant pour extension : *.bat. Pour ceci, il vous faut vous munir d'un éditeur de code.

Bloc-notes eus utilisez Notepad++, veillez à sélectionner "Batch" dans la section "Language". Enregistrer simplement le fichier avec un nom comme mon_script.bat.

Cette méthode est celle que nous allons utiliser la plupart du temps, car elle nous permet de réutiliser le code déjà fait : si l'on veut modifier une ligne, nous irons juste dans le fichier, la modifierons et sauvegarderons, sans avoir à retaper tout le code comme la méthode qui suit.

Elle devient aussi beaucoup plus simple que l'autre quand on veut réutiliser du code d'un programme à un autre : il suffit de copier-coller (Ctrl+C et Ctrl+V).

En ligne de commande

Nous pouvons aussi écrire nos scripts en ligne de commande directement. Cette méthode est la plus rapide comme il n'est pas nécessaire d'utiliser des fichiers, mais devient très vite pénible dès que nous voulons faire un vrai programme. Nous ne l'utiliserons donc que pour tester les commandes qui seront expliquées dans ce tutoriel.

Comment exécuter vos scripts ?

Un fichier Batch est un fichier qui s'exécute dans la console Windows (aussi appelée invite de commande Windows ou même cmd), ressemblant à ceci :

Si nous souhaitons utiliser la méthode 2 pour écrire nos scripts, celle où l'on écrit directement dans la console, il suffit d'ouvrir l'invite de commande et de taper nos commandes, en appuyant sur (Entrée) après chaque commande.

Comment ouvrir l'invite de commande ?

Pour ouvrir l'invite de commande, appuyez simultanément sur  (Windows) et R. Une fenêtre devrait s'ouvrir en bas à gauche de votre écran. Dans le champ Ouvrir, mettez cmd, puis appuyez sur

Ok ou Entrée. Et voilà ! Vous êtes dans l'invite de commande. :)

Maintenant, passons à l'exécution. Si vous avez écrit votre script dans un fichier .bat, il existe deux possibilités pour l'ouvrir.

En double cliquant sur le fichier

Eh oui, c'est aussi simple que ça !

Quand un programme est fini, il se ferme. Votre programme est terminé, l'ordinateur ne voit plus l'intérêt de le continuer. Pour remédier à cela, il faut utiliser la commande pause qui permet d'attendre que l'utilisateur appuie sur une touche pour continuer.

La commande pause > nul permet de faire pareil que pause ,mais sans afficher le texte "Appuyez sur une touche pour continuer...". Et hop, résolu. :magicien:

À partir de l'invite de commande

Il est aussi possible de lancer le fichier depuis cmd. Une fois que vous êtes dans l'invite de commande, il vous suffit d'écrire la ligne suivante :

start fichier.bat

où fichier.bat est le nom de votre fichier.

Mon fichier n'est pas dans le répertoire actuel quand j'ouvre cmd. Comment faire ?

Vous pouvez naviguer dans cmd en utilisant cd nom-du-repertoire et cd.. pour remonter.

Exemple :

C:\Users\EtoileFilante>cd Mes documents
C:\Users\EtoileFilante\Mes documents>cd..
C:\Users\EtoileFilante>

Personnaliser l'affichage de vos scripts

Avec @echo off

Au début de chaque fichier créé, il est conseillé d'écrire la commande :

@echo off

Cette ligne permet de cacher toutes les lignes de commande qui sont effectuées lors de l'exécution du programme, ainsi que cette même ligne. ;)

Sans @echo off :

C:\Users\EtoileFilante\sdz                                                      
C:\Users\EtoileFilante\sdz.bat
echo BonjourMonde                            
BonjourMonde

Avec @echo off :

C:\Users\EtoileFilante\sdz
BonjourMonde

Explications : je lance le fichier sdz.bat simplement avec "sdz", puis au lieu d'écrire chaque ligne et de les exécuter, je ne fais que les exécuter. Cela ne fait pas beaucoup de différence sur une ligne, mais sur plusieurs, cela devient vite énervant si on ne l'a pas.

Titre, changement de taille, couleur, etc.

Ici vous allez voir des commandes qui permettent de personnaliser votre console en lui donnant une couleur, un titre et autre.

Titre

Pour donner un nom à son programme, il suffit d'utiliser la commande title.

title Nom de mon programme

Changement de taille

On peut aussi changer la taille de la console en utilisant la commande mode, à laquelle on assigne 80 colonnes et 16 lignes.

mode con cols=80 lines=16

Modification des couleurs

Il est aussi possible de changer la couleur de la console ainsi que du texte, avec color XY, dans lequel X représente la couleur du fond et Y la couleur du texte.

color 0F

Voici une liste détaillée du code couleur utilisé par Batch :

Code

Couleur

0

Noir

1

Bleu foncé

2

Vert

3

Bleu-Gris

4

Marron

5

Pourpre

6

Kaki

7

Gris Clair

8

Gris

9

Bleu Clair

A

Vert clair

B

Cyan

C

Rouge

D

Rose

E

Jaune

F

Blanc

C. Nettoyer la console

Pour "nettoyer" la console (supprimer tout ce qui est écrit), il faut utiliser la commande cls.

cls

Exit

Oh wait, ce serait pas mal si on pouvait fermer le programme, non ? :D Eh bien je vous rassure, ce n'est pas plus compliqué que d'écrire la commande... suspens...

exit

Premiers scripts Batch

Afficher du texte

Sans plus attendre, nous allons créer votre premier BonjourMonde, celui que tout programmeur a vu et revu tout au long de son expérience. :soleil:

Pour afficher du texte en Batch, on utilise la commande echo.

echo Bonjour Monde, ceci est mon premier programme en Batch :)

Peut-on sauter des lignes ?

Oui ! Pour afficher une ligne vide (un saut de ligne) , rien de plus simple que d'utiliser echo. (la commande echo à laquelle on acolle un point).

Commentaires

Presque tous les langages ont un système de commentaires, qui permettent de ne pas exécuter une certaine partie de votre code.

Cela peut être utile pour :

  • Améliorer la lisibilité de votre code.

  • Déboguer en mettant en commentaire une partie du code à la fois pour trouver l'origine du problème.

  • Expliquer aux personnes qui liront votre code comment celui-ci est structuré ou leur expliquer ce que vous faites à un endroit qui parait obscur. :zorro:‌

Il y a deux commandes permettant de faire des commentaires, on peut soit commencer la ligne par :: soit commencer la ligne par REM. Voici un exemple.

:: echo bonjour
:: Affichage d'un texte
REM Affichage d'un texte
echo Texte

Ce code affiche une fois "Texte".

Modèle

Pendant tout le cours, nos programmes seront structurés comme ceci (mais libre à vous de le modifier comme il vous plaît !).

@echo off
title Mon fichier Batch
mode con cols=80 lines=16
color 0F

:: Votre code

pause > nul

Il vous suffira de remplacer le commentaire par le code. ;)

Maintenant, passons à une partie fondamentale à tout code : les variables ! :pirate:

Exemple de certificat de réussite
Exemple de certificat de réussite