A la découverte du BATCH : notre premier programme

Avatar de Monsieur X
Description du chapitre et des ses objectifs :

Vous allez voir que ce qui nous attend est d'une simplicité...
Comme chez les petits (en tant que débutants en BATCH...), nous allons apprendre à écrire, mais écrire virtuellement !

Image de Partie

Accéder directement à une des parties du cours :

Les bases

Nous allons commencer par un programme qui demande d'appuyer avant de quitter. C'est un programme qui affiche :

Code Commande MS-DOS - Numéro de ligne
  1. Appuyez sur une touche pour continuer... _

Voici ce que nous devons écrire :
Code BATCH - Numéro de ligne
  1. @echo off
  2. pause

Explications :
Le signe @ veut dire de ne pas afficher la commande suivant @ (sur l'écran).
La commande echo off veut dire de n'afficher aucune commande suivant echo off (sur l'écran).
La commande pause demande à l'utilisateur d'appuyer.

Voici ce qu'afficherait la console sans @echo off :
Code Commande MS-DOS - Numéro de ligne
  1. Racine\Dossier>pause
  2. Appuyez sur une touche pour continuer... _

C'est bien joli de demander d'appuyer mais il faudrait bien savoir écrire ! Alors, pour écrire, on va utiliser echo.
Exemple :
Code BATCH - Numéro de ligne
  1. @echo off
  2. echo Salut !
  3. pause

Et voilà le résultat :
Code Commande MS-DOS - Numéro de ligne
  1. Salut !
  2. Appuyez sur une touche pour continuer... _

Information : Remarquez l'absence de guillemets.

A présent, changeons le titre ! Vous avez peut-être remarqué un titre bizarre à la console, alors title vole à votre secours !
Exemple :
Code BATCH - Numéro de ligne
  1. @echo off
  2. title Apprendre a dire Salut !
  3. echo Salut !
  4. pause

Information : Toujours pas de guillemets...

Regardez ce qui suit :

Image utilisateur

Note : les couleurs du titre sont issues de ma personnalisation de mon ordi, pas du BATCH .

A présent, attaquons-nous à plus dur :
Code console - Numéro de ligne
  1. Bonjour ! Je m'appelle Jean, Jean Bon. J'ai 12500 ans et je dispose d'une somme de -300000 euros. Alors voici ma vie : je suis né à Tipoca, en l'an 3451 dans une famille de clones...

Beurk, c'est très moche !
Aérons tout ça :
Code console - Numéro de ligne
  1. Bonjour !

  2. Je m'appelle Jean, Jean Bon. J'ai 12500 ans et je dispose d'une somme de -300000 euros.

  3. Alors voici ma vie :
  4. je suis né à Tipoca, en l'an 3451 dans une famille de clones...

C'est mieux, non ? Apprenons alors à sauter des lignes avec echo. :
Code BATCH - Numéro de ligne
  1. @echo off
  2. title Je raconte ma vie !
  3. echo Bonjour !
  4. echo.
  5. echo Je m'appelle Jean, Jean Bon. J'ai 12500 ans et je dispose d'une somme de -300000 euros.
  6. echo.
  7. echo Alors voici ma vie :
  8. echo je suis ne a Tipoca, en l'an 3451 dans une famille de clones...
  9. pause

Explications :
Echo. sert à laisser une ligne vide donc à sauter une ligne. Mais pour aller à la ligne, il suffit de mettre la suite de son texte à la ligne, précédé de echo.
Voici le résultat :

Image utilisateur

Je voudrais que "euros" soit sur la même ligne que "-300000" ! Une solution : aller à la ligne. Mais dans un but pégadogique pédagogique , on va réajuster la fenêtre avec mode con: cols=nombre_de_colonnes lines=nombre_de_lignes :
Code BATCH - Numéro de ligne
  1. @echo off
  2. title Je raconte ma vie !
  3. mode con: cols=100 lines=25
  4. echo Bonjour !
  5. echo.
  6. echo Je m'appelle Jean, Jean Bon. J'ai 12500 ans et je dispose d'une somme de -300000 euros.
  7. echo.
  8. echo Alors voici ma vie :
  9. echo je suis ne a Tipoca, en l'an 3451 dans une famille de clones...
  10. pause


Image utilisateur

C'est un peu monotonne, non ? Alors nous allons mettre de la couleur. Vous allez voir, c'est très facile !
Pour vous faciliter le travail, je vous ai fait un tableau :

Nom de la couleurValeur correspondante
Noir0
Bleu fonc1
Vert2
Bleu-gris3
Marron4
Pourpre5
Kaki6
Gris clair7
Gris8
Bleu clair9
Vert clairA
CyanB
RougeC
RoseD
JauneE
BlancF

La couleur se note avec deux caractères :
  • Le premier caractère est la couleur de l'arrière plan
  • Le deuxième est la couleur du texte.
Exemple :
Code Batch - Numéro de ligne
  1. @echo off
  2. title Les couleurs
  3. color 3F
  4. pause

Et voilà le travail :

Image utilisateur

Mais vous pouvez évidemment changer les couleurs ! Laissez-vous guider par votre talent d'artiste !

Raconter une histoire intéractivement

Nous allons créer une histoire dans laquelle l'utilisateur doit appuyer sur une touche après avoir lu une phrase pour en voir une autre.
Voilà ce qu'on va faire :

  • Inventer une histoire (j'en ai une pour nous mais vous pouvez la modifier )
  • Programmer.

Comme l'histoire est déjà trouvée, passons à la programmation :
Code BATCH - Numéro de ligne
  1. @echo off
  2. title La super histoire...
  3. echo Il etait une fois un homme moche et mechant.
  4. pause
  5. echo Sa femme aussi etait moche, mais plus gentille (meme si elle avait introduit de la dynamite dans la bouche de son crapaud).
  6. pause
  7. echo Un jour, elle tomba dans un puits.
  8. pause
  9. echo L'homme se conduit en brave et alla sauver se gente dame...
  10. pause
  11. echo Et voila leur histoire .Ils vecurent heureux et eurent beaucoup d'enfants !
  12. pause

Le résultat après avoir tout lu :

Image utilisateur

Pas très beau. On va donc effacer le texte de la console après chaque appui sur une touche avec la commande cls :
Code BATCH - Numéro de ligne
  1. @echo off
  2. title La super histoire...
  3. echo Il etait une fois un homme moche et mechant.
  4. pause
  5. cls
  6. echo Sa femme aussi etait moche, mais plus gentille (meme si elle avait introduit de la dynamite dans la bouche de son crapaud).
  7. pause
  8. cls
  9. echo Un jour, elle tomba dans un puits.
  10. pause
  11. cls
  12. echo L'homme se conduit en brave et alla sauver se gente dame...
  13. pause
  14. cls
  15. echo Et voila leur histoire .Ils vecurent heureux et eurent beaucoup d'enfants !
  16. pause

Et maintenant essayez ce code et regardez le résultat !


J'espère que vous avez profité de cet échauffement ! La suite sera d'un niveau plus élevé mais pas franchement...

Sommaire - Chapitre suivant

Nos rédacteurs et membres sont pour la plupart ouverts à des remarques constructives et servir à alerter le rédacteur du cours, des fautes éventuelles ou de propositions et nouvelles perspectives de cours etc ...
Pour ce faire cliquez ici

Postez vous aussi un commentaire à cette partie via le lien que voici