L’invite de commande cmd.exe fait partie des com­po­sants logiciels les plus anciens de Windows. L’outil de ligne de commande offre depuis plusieurs décennies la pos­si­bi­lité de procéder à des mo­di­fi­ca­tions directes des systèmes d’ex­ploi­ta­tion Microsoft. Les fichiers batch (ou fichiers Bat) sont étroi­te­ment liés à l’invite de commande. Ils donnent accès aux commandes internes de cmd.exe et per­met­tent de traiter les commandes par lots. Découvrez ici ce qui rend ces scripts si utiles et comment créer, en­re­gis­trer et exécuter un fichier batch.

Nom de domaine
Votre domaine en un clic
  • 1 cer­ti­fi­cat SSL Wildcard par contrat
  • Fonction incluse Domain Connect pour une con­fi­gu­ra­tion DNS sim­pli­fiée

Qu’est-ce qu’un fichier batch ou Bat ?

Un fichier batch (fichier Bat, script batch ou fichier de trai­te­ment par lots) est un fichier texte exé­cu­table par l’outil de ligne de commande Windows cmd.exe pour le trai­te­ment de commandes par lots. L’invite de commande prend alors le rôle d’in­ter­prète et d’en­vi­ron­ne­ment d’exécution. Pour sim­pli­fier les choses, on peut dire qu’il s’agit d’un programme in­for­ma­tique ou d’un script dont les données ou tâches sont traitées l’une après l’autre par l’invite de commande.

Note
Le terme « trai­te­ment par lots » remonte à l’origine des fonctions de trai­te­ment des données, lorsque leur trai­te­ment in­te­rac­tif n’était pas encore possible. Les jeux de données à traiter prenaient alors la forme de cartes perforées, les supports d’en­re­gis­tre­ment de l’époque, que l’on traitait carte par carte, par lot (en anglais : batch). Dans le contexte des systèmes d’ex­ploi­ta­tion in­for­ma­tique modernes, ce terme a fait son ap­pa­ri­tion lors de la pu­bli­ca­tion de MS-DOS (1981) et des fichiers batch men­tion­nés ici.

Via le fichier cmd.exe, exploité en tant qu’in­ter­prète et en­vi­ron­ne­ment d’exécution, les fichiers batch per­met­tent l’ex­ploi­ta­tion et l’exécution de commandes CMD courantes. Lors de l’écriture de fichiers batch vous pouvez utiliser les fonctions de com­men­taires, labels, variables, con­di­tions et requêtes. Pour convertir des fichiers textes en fichiers batch dans les systèmes Microsoft actuels, vous devez ajouter l’extension de fichier .bat. Sous Windows NT et OS/2, l’extension usuelle était .cmd.

Remarque
En 2006, Microsoft a publié Po­wer­Shell, un cadre mul­ti­pla­te­forme développé depuis 2016 sous la licence MIT gratuite qui permet la pro­gram­ma­tion et l’exécution de fichiers de trai­te­ment par lots. Po­wer­Shell met également à dis­po­si­tion un in­ter­prète de ligne de commande al­ter­na­tif et son propre langage script du nom de Po­wer­Shell Scripting Language.

Créer un fichier batch : tutoriel pas-à-pas

Créer vos propres fichiers Bat est pertinent lorsque vous devez effectuer de manière répétée des suites de commandes et souhaitez en au­to­ma­ti­ser l’exécution. Il peut par exemple s’agir de pro­cé­dures de connexion ou du démarrage d’un programme TSR (terminate and stay resident), devant fonc­tion­ner en per­ma­nence en arrière-plan. Dans les pa­ra­graphes suivants, nous vous parlerons des outils né­ces­saires à la création de fichiers Batch et vous ex­pli­que­rons en détail comment créer, en­re­gis­trer et exécuter vos propres fichiers de trai­te­ment par lots.

Étape 1 : sé­lec­tion­ner et démarrer un éditeur

Comme pré­cé­dem­ment indiqué, les documents textes forment une base adaptée aux scripts batch. Pour écrire votre propre fichier Batch, un éditeur de texte usuel suffit. Dans la mesure où des fonctions telles que la co­lo­ra­tion syn­taxique ne sont pas vraiment né­ces­saires, l’éditeur Microsoft par défaut de Windows, également connu sous son nom original anglais de Notepad, est tout ce dont vous avez besoin. Pour l’ouvrir, saisissez sim­ple­ment le terme « Notepad » ou « Éditeur » dans la recherche Windows et cliquez sur l’icône cor­res­pon­dante affichée dans les résultats :

Étape 2 : se fa­mi­lia­ri­ser avec les commandes batch

Pour créer des fichiers batch, aucun langage de pro­gram­ma­tion compliqué n’est né­ces­saire. Il est toutefois essentiel de connaître les commandes systèmes usuelles et leurs fonc­tion­na­li­tés dans les fichiers batch. Ainsi, avant d’essayer de composer votre propre script, vous devez vous fa­mi­lia­ri­ser avec certaines commandes. Vous trouverez ci-après certaines des commandes les plus im­por­tantes à maîtriser :

  • ECHO : affiche le texte des commandes exécutées à l’écran
  • @ECHO OFF : masque le texte des commandes exécutées à l’écran
  • START : exécute un fichier avec l’ap­pli­ca­tion standard
  • REM : indique une ligne de com­men­taire
  • MKDIR/RMDIR : crée ou supprime un ré­per­toire
  • DEL : supprime le/les fichier(s) sé­lec­tionné(s)
  • COPY : copie le/les fichier(s) sé­lec­tionné(s)
  • TITLE : traite le titre de la fenêtre CMD
Note
Vous trouverez une liste ex­haus­tive des commandes les plus im­por­tantes dans notre article détaillé sur les « Commandes batch ».

Étape 3 : créer et en­re­gis­trer un nouveau fichier batch

Pour faciliter vos premiers pas dans l’écriture d’un fichier batch, nous vous en­cou­ra­geons à créer un script simple qui en­re­gis­trera si­mul­ta­né­ment plusieurs ré­per­toires sur un support de données sé­lec­tionné de votre système. Si vous créez, par exemple, un fichier Bat en sai­sis­sant les éléments suivants, son exécution génèrera deux ré­per­toires « Exemple1 » et « Exemple2 » sur le disque C:

MKDIR C:\Exemple1
MKDIR C:\Exemple2

Copiez sim­ple­ment les deux lignes dans un document vide ouvert du Notepad, comme indiqué sur la capture d’écran suivante :

Pour en­re­gis­trer ces ins­truc­tions Bat ou le script, cliquez ensuite sur « Fichier » et sé­lec­tion­nez l’option de menu « En­re­gis­trer sous... ». Saisissez l’em­pla­ce­ment d’en­re­gis­tre­ment souhaité et le nom que vous souhaitez donner aux scripts, y compris l’extension de fichier .bat, dans le champ « Nom de fichier » :

Étape 4 : exécuter le script Bat créé

Une fois le fichier Bat créé et en­re­gis­tré comme tel, vous pouvez l’exécuter de deux manières : démarrez le script dans l’en­vi­ron­ne­ment familier de l’ex­plo­ra­teur Windows ou ouvrez l’invite de commande et démarrez-le via l’outil de ligne de commande.

La première variante est sans doute la plus sûre et la plus facile pour les débutants car il vous suffit de naviguer dans le ré­per­toire dans lequel se trouve le fichier batch et de le démarrer d’un double clic.

Note
Contient un script batch de commandes, dont l’exécution exige des droits d’ad­mi­nis­tra­teur. Vous devez également le démarrer en tant qu’ad­mi­nis­tra­teur. Dans ce cas, sé­lec­tion­nez le fichier de trai­te­ment par lots d’un clic droit, puis cliquez sur le bouton « Exécuter en tant qu’ad­mi­nis­tra­teur ».

Si, au contraire, vous voulez ouvrir le fichier batch à partir de la ligne de commande, procédez comme suit :

  1. Ouvrez la fonction de recherche de Windows et saisissez « cmd ».
  2. Cliquez sur « Invite de commande » pour démarrer la ligne de commande nor­ma­le­ment. Sé­lec­tion­nez-la d’un clic droit puis cliquez sur « Exécuter en tant qu’ad­mi­nis­tra­teur », si elle nécessite les droits d’ad­mi­nis­tra­teur.
  3. Utilisez la commande « change directory » (cd) pour accéder au ré­per­toire dans lequel se trouve le fichier batch.
  4. Saisissez le nom du script batch (y compris l’extension du fichier) et appuyez sur la touche Entrée.

Étape 5 : traiter ul­té­rieu­re­ment les fichiers batch créés

Vous pouvez à tout moment ajuster un script Bat créé lorsque vous souhaitez, par exemple, ajouter des commandes, en supprimer ou modifier des ré­per­toires. Pour ce faire, ouvrez le dossier du script de lignes de commande et cliquez dessus avec le bouton droit de la souris. Sé­lec­tion­nez ensuite l’option « Éditer » :

Adresse email pro­fes­sion­nelle
Découvrez une nouvelle façon de traiter vos emails
  • Adresse email à votre nom
  • Fonctions d'IA pour rédiger des emails parfaits (en option)
  • Mes­sa­ge­rie sécurisée avec pro­tec­tion anti-spam

Exemples de scripts batch plus fré­quem­ment utilisés et plus complexes

Les ins­truc­tions pas-à-pas sus­men­tion­nées vous per­met­tent de créer les fichiers batch les plus divers, quelles que soient les commandes de système qu’ils con­tien­nent ou leur nombre. L’utilité de création d’un script tient sans aucun doute à la fréquence à laquelle vous l’utilisez. Pour finir, voici donc deux exemples de fichiers batch à l’utilité durable, il­lus­trant les pos­si­bi­li­tés du trai­te­ment par lots de la ligne de commande Windows.

Script batch à mécanisme de sau­ve­garde simple

L’exemple suivant démontre à la per­fec­tion le caractère pratique des fichiers batch. Ils vous per­met­tent d’exécuter en toute sim­pli­cité la sau­ve­garde régulière du ré­per­toire de votre choix :

XCOPY C:\RépertoireC:\Back-up-répertoire /m /e /y

Pour créer et exécuter un fichier batch contenant la ligne indiquée ci-dessus, copiez le contenu en exécutant la commande « XCOPY » du « Dossier source » au « Dossier de sau­ve­garde ». Les ré­per­toires dans lesquels se trouvent ces deux dossiers doivent bien évi­dem­ment être ajustés en fonction. Les trois pa­ra­mètres annexés agissent comme suit :

  • /m : garantit la copie des fichiers ac­tua­li­sés uni­que­ment, de sorte que les fichiers déjà sau­ve­gar­dés ne soient pas à nouveau copiés lors des pro­cé­dures de sau­ve­garde suivantes.
  • /e : indique que la sau­ve­garde concerne également l’ensemble des sous-ré­per­toires d’un ré­per­toire donné.
  • /y : inhibe la demande de con­fir­ma­tion d’écra­se­ment d’un fichier cible existant (dans lequel les mo­di­fi­ca­tions ont été ef­fec­tuées depuis la dernière sau­ve­garde).

Fichier batch à fonction de sau­ve­garde complexe

Le programme de sau­ve­garde précédent permet la copie de fichiers sources du dossier source au dossier cible. Vous pouvez également créer un fichier Bat pour répartir l’ensemble des données ori­gi­nales dans plusieurs dossiers cibles sur la base du type de fichier par exemple. À cet effet, vous devez utiliser la boucle FOR qui permet la ré­pé­ti­tion d’une commande à argument variable :

cd C:\Répertoire
FOR %%f IN (*.doc *.txt) DO XCOPY C:\Répertoire"%%f" C:\Back-up-Répertoire\Textes /m /y
FOR %%f IN (*.jpg *.png *.bmp) DO XCOPY C:\Répertoire "%%f" C:\Back-up-Répertoire\Images /m /y

Le code de commande batch exécuté garantit...

  • le transfert de l’ensemble des fichiers du ré­per­toire source portant les ex­ten­sions .doc et .txt vers le dossier de sau­ve­garde « Textes » ;
  • Le transfert de l’ensemble des fichiers du ré­per­toire source portant les ex­ten­sions .jpg, .png et .bmp vers le dossier de sau­ve­garde « Images » ;
  • la copie de fichiers ac­tua­li­sés uni­que­ment ;
  • l’in­hi­bi­tion per­ma­nente de l’invite de con­fir­ma­tion.
Note
Le script fonc­tionne uni­que­ment pour les fichiers dont le nom de fichier inclut des ex­ten­sions déclarées – dans le cas contraire, les documents ne sont pas reconnus lors du trai­te­ment par lot, même lorsque leur format est adapté.
Aller au menu principal