univers-du-pc
Visiteurs : 1 | Connecté : 0 | Inscrits : 74 |
Accueil
Contact
Forum
Download
Votre Avis
Login :
Passe :
  Connex. Auto
S'inscrire | Passe perdu | Pourquoi ?
Saisie :
Dans :
 
Recherche Avancée
Les Cours/Tutoriels
Dossiers & Astuces
Les tests matériels
Les logiciels à l'essais
Vous aimez et désirez aider le site dans son développement.
Une page "don" entièrement sécurisée est à votre disposition.



Le design du site vous plaît-il ?

Oui, absolument
Oui, assez
Non, pas vraiment
Non, pas du tout
Cours/Tutoriels : Les langages de programmation
Vous êtes ici ---> univers du pc > Les Cours/tutoriels > La programmation BATCH
La programmation BATCH
Information :
  • Auteur : Univerien le 23 Apr 09 à 23h55
  • Niveau du cours : Débutant, aucun risque pour votre système.
  • Descritpion : Savoir créer des petits programmes utiles pour votre système d'exploitation.
  • Avencement : 100 %
Sommaire :

Le langage BATCH
Retour | Remonter

Qu'est-ce que le batch ?

Le Batch est un langage de programmation très ancien, il permet de réaliser des tâches programmer à l'aide de simple lignes de commandes. C'est un langage qui est essentiellement utilisé dans le but de réaliser des traitements simple au sein d'un système d'exploitation (Windows, Linux...).
Historiquement et par définition le Batch veux dire "Fournée" ou "Lot", il était très utilisé au début de l'informatique, mais de nos jours il est peut utiliser dans le domaine du quotidien, mais encore très exploité par les informaticiens au sein de réseau informatique ou en complément d'applications développés avec d'autres langages de programmation plus puissants pour réaliser des tâches répétitives et de déploiement.

Le batch s'utilise sous un environnement DOS, c'est-à-dire qu'il utilise le langage DOS et est commander via là console DOS du système d'exploitation et se présente sous forme de commandes.
Le batch est donc un fichier contenant un ensemble de commandes qui seront traitées automatiquement comme si elles étaient entrées au clavier par l'utilisateur, les unes après les autres. Contraire exact de l'interactivité .
Le batch est un fichier ASCII (texte non mis en forme) contenant une ou plusieurs commandes du système d'exploitation. Le nom de fichier d'un programme de commandes possède une extension .cmd ou .bat pour Windows ou .sh pour linux. Lorsque vous tapez le nom de fichier á l'invite de commandes ou lorsqu'un programme de commandes est exécuté á partir d'un autre programme, ces commandes sont traitées de manière séquentielle. Les programmes de commandes sont également appelés fichiers de commandes. L'intérêt des batch est donc d'automatiser des tâches répétitives effectuées sous DOS.

Présentation du DOS

Le DOS ("Disk Operating System") est un OS (Operating System => système d’exploitation). Comme tout système d’exploitation, c’est un programme permettant de fournir la base des services indispensables à la gestion d’une machine. Sa version la plus commercialisée est celle de Microsoft, MS-DOS, qui a vu le jour en 1981 lors de son utilisation sur un IBM PC. Celui-ci est constitué de trois fichiers vitaux qui sont Io.sys, Msdos.sys et Command.com.
Ce système est présent dans tous les systèmes d'exploitation du marché (Windows XP, Vista, Linux...). Un exemple d'exploitation du Batch s'exécutant avec le DOS et que vous devez connaitre et avoir dû sur ment rencontré, c'est la célèbre disquette de boot pour l'installation et le dépannage des systèmes d'exploitation de Microsoft (Windows).

La communication vers le système se fait à l’aide de commandes. Cette communication exige un vocabulaire et une syntaxe précise, afin que le DOS puisse interpréter et effectuer les tâches que l’utilisateur demande.

Il vous est sur ment déjà arrivé à utiliser une ligne de commande sans que vous n'y prêté attention. La console DOS est accessible via le menu "démarrer" "Accessoire" "invite de commandes". Là une fenêtre appelée Invite de commandes s'ouvrira vous permettant d'insérer et d’exécuter des commandes.


Une commande DOS se présente toujours de la manière suivante :

Syntaxe :

COMMAND | PARAMÈTRE | OPTIONS

Principales commandes sous DOS
  • Cls : Permet d’activer le contenu de l’écran.

  • Break : Permet d’activer ou désactiver ( CTRL+C).

  • Command : Permet de lancer l'interpréteur de commandes qui peut être quitté grâce à la commande "exit".

  • Copy : Permet de copier un ou plusieurs fichiers ( tapez la commande copy suivit de l' adresse du fichier à copier, puis l' adresse ou il doit être copier ).
    Exemple : Copy c:\moi\moi1.moi c:\mes doc\doc1.doc.

  • Date : Permet d’afficher la date et de la modifier.

  • Time : Permet d’afficher et mettre à jour l'heure du système.

  • Del : Supprime le fichier spécifié. ( Del adresse du fichier à supprimer).

    exemple : Del c:\moi\moi1.moi.

  • Echo : Deux utilisations, permet de désactiver l’affichage du contenu des fichiers batch lors de leur exécution (avec le paramètre off (echo off | pour réactiver l’affichage du texte des batch, tapez echo on). Permet également d’afficher du texte. Avec cette commande vous pouvez aussi écrire dans un fichier.

    pour cela faite : echo salut>>c:\windows\bureau\texte.txt, ceci écrira salut dans le fichier texte.txt (qui aura était créé préalablement), se situant sur le bureau.

  • Edit : Lance l’éditeur MS DOS qui permet de créer et de modifier des fichiers textes tel que les batch.
Pour exécuter une commande, il suffit de taper la commande à partir du terminal, puis d'appuyer sur "ENTRÉE".

En tapant "help" vous aurez l'ensemble de toutes les commandes accessibles.

Pour sortir de la console DOS, taper : "EXIT".

Vous verez dans la suite du cours que ces commandes sont très utiles pour l'élaboration d'un programme .batch.

Mise en application
Retour | Remonter

Création et édition d'un BATCH

Un fichier Batch n'est rien de plus qu'un fichier texte contenant des commandes MS-DOS, ainsi une connaissance DOS est requise pour effectuer une programmation batch. Pour que ces instructions soient compréhensibles, il nous faut user d’un vocabulaire adéquate et ordonné.


Une fois votre programme terminé il faut le rendre exécutable. Pour cela il vous suffit d'enregistrer le fichier texte en mettant l'extension .bat. Cela aura pour effet de créer un fichier ayant une icône particulière de celle d'un fichier texte. Lorsque vous cliquerez sur ce fichier les instructions de commande s'exécuterons sur le pc.


Les instruction et commandes en batch

Afin de pouvoir créer vos propres programmes batch, il vous faut connaitre les rudiments syntaxiques de ce langage. Ci-dessous vous avez l’ensemble syntaxique utile pour l’élaboration d’un programme.

Les variables

Dans le langage batch il existe deux types de variables, nous avons les variables dites simples et les variables dites d’environnement.
  • Variable simple : Comme tout langage de programmation, le batch permet d’utiliser des emplacements mémoire pour stocker des informations. On appel cela « les variables ». Celles-ci sont nommées, définies, voire modifiées et nous permettent de manipuler facilement des données. En effet, les variables sont très utiles dans les scripts, en allègent l’écriture et facilitent grandement la vie du programmeur. Lors de la définition des variables, il n’est pas indispensable de se casser la tête sur la casse, elle se trouve être non-discriminatoire pour le DOS. Afin de déclarer, initialiser, modifier, supprimer des variables, nous faisons appel à la commande SET.

    Variables :
    1. echo Déclaration de la variable
    2. Set nom_variable = valeur
    3.  


    Les variables peuvent être utilisé soit dans les structures de contrôles (If pas exemple) ou être affiché à l’écran.

    Pour cela il faut utiliser la syntaxe ci-dessous.

    Variables :
    1. echo Déclaration de la variable :
    2. Set $mavariable = "salut"
    3.  
    4. echo Affichage de la variable :
    5.  
    6. %mavariable%
    7.  


  • Variable d'environnement : le plus intéressant quand nous devons faire des scripts, c’est bien les variables d’environnement. Cela permet de s’simplifier grandement un programme et la vie de la personne qui développe.
    Il existe deux types de variables d'environnement, système et locales, qui définissent le comportement de l'environnement de l'interpréteur de commandes ou l'environnement complet du système d'exploitation. Les variables d'environnement système sont prédéfinies dans le système d'exploitation.
    La liste des variables environnement disponible pour votre système d’exploitation est disponible via l’invite de commande.
    Pour cela ouvrer l’invite de commande et saisissez la commande C:\SET

    Elles sont intéressantes, certes car elles vous permettent de ne pas écrire des chemins d’accès à des fichiers d’une longueur à vous faire pâlir, ou d’accéder au Path pour permettre de lancer des compilations java (par exemple). Néanmoins, lors de la réalisation de votre programme, il vous faudra être prudent sur la compatibilité de l’environnement de déploiement de votre application.
    En effet si vous utilisé une variable d’environnement propose à Windows 98 votre programme ne fonctionnera pas sous XP par exemple. L’évolution vers des systèmes NT, a fait du coup évolué le nombre de variables d’environnement disponibles. Ainsi, Windows XP ou 2000 possèdent le double des variables disponibles chez 95/58 .

    Exemple de quelques variables d’environnement disponibles :

    Variable Fonction Compatibilité
    Windir Renvoie l'emplacement du répertoire du système d'exploitation Win NT
    Username Renvoie le nom de l'utilisateur qui a ouvert une session Win NT
    Path Spécifie le chemin pour la recherche des fichiers exécutables Win 98,NT
    Os Renvoie le nom du système d'exploitation Win NT
    Appdata Renvoie l'emplacement auquel les applications stockent les données par défaut Win 98,NT
Les instructions
  • ECHO : C'est une commande de sortie comme printf en langage C, mais aussi de désactivation. En effet, lors de l'exécution d'un batch toutes les commandes sont affichées. Afin de pallier à l'affichage de celles-ci, on rajoute un off.
    Ce qui donne: echo off .
    Grâce à cela, les commandes ne sont désormais plus visibles. Cependant, la commande echo off elle, l'est toujours. Ainsi, l'astuce pour pouvoir la rendre invisible est de lui rajouter un @ qui va masquer la commande qui le suit.
    @ echo off

  • REM : Cette commande nous permettra de faire des commentaires. En programmation, les commentaires sont presque " vitaux ". Un code bien commenté facilite la lecture et le débuggage.

  • PAUSE : Comme son nom l'indique, permet de " break " son programme, ce qui peut nous être utile afin de visualiser le résultat de notre travail ou intéressant pour un débuggage ligne par ligne.

  • LABEL : C'est le nom de l'arrivée du saut.

  • GOTO : Cet outil va permettre d'effectuer des sauts inconditionnels. Ainsi, possibilité de faire des boucles ou encore sauter de parties de programme qui ne nous intéressent pas.
Les structures de contrôles
  • IF...ELSE : Commande permettant d'introduire des conditions dans votre programme.
    Son principe étant, si cette action se déroule comme nous le voulons, alors je passe à autre chose.
    À notre IF d'autres conditions peuvent se rajoutées: IF NOT, IF EXIST, IF NOT EXIST

  • CHOICE : Cette commande va nous permettre d'attendre un caractère saisi au clavier, comme un getchar en programmation C.
    Grâce à ce dernier, vous pourrez réaliser des programmes plus interactifs avec l’utilisateur.

    N.B : La commande CHOICE n'existe pas dans les systèmes_NT.

  • BOUCLE (:LABEL...GOTO): Permet de réaliser une boucle par exemple à l'aide d'un saut vers une etiquette.

Mise en pratique

Afin de mieux voir à quoi ressemble le langage et des possibilités de celui-ci, je vous ai mis ci-dessous quelques exemples d'application.

Exemple sur les Variables simples :
  1. @echo off
  2.  
  3. REM ---------------------------------------
  4. REM Les variables simples
  5. REM ---------------------------------------
  6.  
  7. REM ---// On déclare une variable et on lui affecte une valeur
  8.  
  9. set nom=universdupc
  10.  
  11. REM ---// On affiche la variable
  12.  
  13. echo Le nom mis en variable est : %nom%
  14. echo.
  15. echo.
  16.  
  17. REM --- // On mais le programme en pause pour que la fenêtre rete ouverte
  18.  
  19. PAUSE
  20.  

Résultat :


Exemple sur les Variables d'environnement :
  1. @echo off
  2.  
  3. REM ---// On désactive l affichage des commandes pour le script
  4.  
  5. REM ---------------------------------------
  6. REM Les variables environement
  7. REM ---------------------------------------
  8.  
  9. REM ---// On affiche entête
  10.  
  11. echo ------------------------------------
  12. echo Resultat du listage du r‚pertoire C:\
  13. echo -------------------------------------
  14. echo.
  15.  
  16. REM ---// Si le répertoire existe on on le liste
  17.  
  18. IF NOT EXIST C:\ GOTO Erreur
  19.  
  20. REM ---// Etiquette de listage si condition VRAI
  21.  
  22. :listage
  23.  
  24. REM ---// On liste le répertoire
  25.  
  26. DIR
  27.  
  28. REM ---// On saute vers la fin du programme
  29.  
  30. GOTO fin
  31.  
  32. REM ---// Etiquette erreur si condition FAUX
  33.  
  34. :Erreur
  35.  
  36. echo.
  37. echo Le repertoire ne semble pas exist‚.
  38. echo.
  39.  
  40. :fin
  41.  
  42. REM --- // On mais le programme en pause pour que la fenêtre rete ouverte
  43.  
  44. PAUSE
  45.  

Résultat :




Exemple d'un programme complet (Insallation déploiement de logiciel sur une machine) :
  1. @echo off
  2.  
  3. REM --------------------------------------------------------------
  4. REM Mise en page de la fenêtre du script
  5. REM --------------------------------------------------------------
  6.  
  7. COLOR 1F
  8. TITLE Script d installation des programmes.
  9.  
  10. REM --------------------------------------------------------------
  11. REM En-tête du programme
  12. REM --------------------------------------------------------------
  13.  
  14. echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
  15. echo ³ INSTALLATION DES COMPOSANTS ³
  16. echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  17. echo.
  18.  
  19. echo Ce script va installer les logiciels les plus courant pour votre systŠme
  20. echo d exploitation. Toutes les installations seront r‚alis‚es de maniŠre
  21. echo automatique. Aucune actions de votre part ne vous sera demand‚es pendant
  22. echo l installation des diff‚rents logiciels.
  23. echo.
  24. echo Liste des application qui vont ˆtre install‚es :
  25. echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
  26. echo.
  27. echo - Pack office 2003
  28. echo - Nero 8
  29. echo - Winrar
  30. echo.
  31. REM --------------------------------------------------------------
  32. REM Variable pour Vérification de l insertion du CD N°2
  33. REM --------------------------------------------------------------
  34.  
  35. IF EXIST D:\PRESENCE.txt set CDROM=D:
  36. IF EXIST E:\PRESENCE.txt set CDROM=E:
  37. IF EXIST F:\PRESENCE.txt set CDROM=F:
  38. IF EXIST G:\PRESENCE.txt set CDROM=G:
  39. IF EXIST H:\PRESENCE.txt set CDROM=H:
  40. IF EXIST I:\PRESENCE.txt set CDROM=I:
  41. IF EXIST J:\PRESENCE.txt set CDROM=J:
  42. IF EXIST K:\PRESENCE.txt set CDROM=K:
  43. IF EXIST L:\PRESENCE.txt set CDROM=L:
  44. IF EXIST M:\PRESENCE.txt set CDROM=M:
  45. IF EXIST N:\PRESENCE.txt set CDROM=N:
  46. IF EXIST O:\PRESENCE.txt set CDROM=O:
  47. IF EXIST P:\PRESENCE.txt set CDROM=P:
  48.  
  49. REM --------------------------------------------------------------
  50. REM Début du script validation insertion CD
  51. REM --------------------------------------------------------------
  52.  
  53. :debut
  54.  
  55. echo.Pour continuer l installation veuillez ins‚rer le DVD Nø2.
  56. echo.Et appuyer sur "ENTRER"...
  57. echo.Ou sur E pour quitter l assistant d installation.
  58.  
  59. set /p action=
  60.  
  61. IF "%action%"=="" GOTO INSTALLATION
  62. IF "%action%"!="" GOTO QUIT
  63.  
  64. REM --------------------------------------------------------------
  65. REM Vérification CD inséré
  66. REM --------------------------------------------------------------
  67.  
  68. :INSTALLATION
  69.  
  70. IF "%CDROM%"=="" GOTO ERROR ELSE SUITE
  71.  
  72. REM --------------------------------------------------------------
  73. REM Lancement de l installation des programmes si CD ok
  74. REM --------------------------------------------------------------
  75.  
  76. :SUITE
  77.  
  78. echo.
  79. echo Installation du Pack Office 2003
  80. echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
  81. echo Installation en cours ! Veuillez patienter...
  82. start /wait %CDROM%\SETUP.EXE TRANSFORMS=%systemdrive%\Programmes\
  83. Office2003\Office.MST /qb
  84. echo Installation termin‚e correctement.
  85.  
  86. echo.
  87. echo Installation de Nero 8
  88. echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
  89. echo Installation KB884016 v2 en cours ! Veuillez patienter...
  90. start /wait %CDROM%\WindowsInstaller-KB884016-v2-x86.exe /passive /norestart
  91. echo Installation termin‚e correctement.
  92. echo Installation Nero 8 en cours ! Veuillez patienter...
  93. start /wait %CDROM%\SetupX.exe /qb! /NORESTART
  94. echo Installation termin‚e correctement.
  95.  
  96. echo.
  97. echo Installation de Winrar
  98. echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
  99. echo Installation en cours ! Veuillez patienter...
  100. start /wait %CDROM%\APPS\Utilitaire\WINRAR\winrar.exe
  101. echo Installation termin‚e correctement.
  102.  
  103. GOTO FIN
  104.  
  105. REM --------------------------------------------------------------
  106. REM Traitement erreur si mauvais CD inséré
  107. REM --------------------------------------------------------------
  108.  
  109. :ERROR
  110.  
  111. ECHO Le cd ins‚rer n est pas valide !
  112. ECHO.
  113.  
  114. GOTO DEBUT
  115.  
  116. :QUIT
  117.  
  118. GOTO FIN
  119.  
  120. REM ---------------------------------------------------------------
  121. REM Fin du script
  122. REM ---------------------------------------------------------------
  123.  
  124. :FIN
  125. echo.
  126. echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
  127. echo.
  128. echo Installation termin‚e, suppr‚ssion et relance de a machine.
  129. rd /S /Q %systemdrive%\Programmes
  130. echo Suupréssion Termin‚e
  131. echo.
  132. echo. Red‚marrage de la machine dans 10 s pour la prise en
  133. echo. compte des modifications...
  134. shutdown -r -t 10
  135. echo.
  136. pause
  137. EXIT
  138.  

Résultat :




Conclusion
Retour | Remonter

Pour conclure, le batch est un langage de programmation très pratique et simple pour nous permettre d'automatiser certaines tâches. En entreprise, il s'avère très efficace, pour effectuer des tâches de sauvegarde ou de déploiement de logiciel. Cependant, la diversité des Operating System en entreprise, peut représenter un frein lors de l'utilisation final.

Retour Remonter
0.362437 secondes | 7 Requêtes A propos de Univers-du-pc : Plan Site | Faire un Don | Partenaires | CNIL 1058315 | Charte | CGU | Contact
Copyright © 2003 - 2009 Universdupc Group - Tous droits réservés. - Tous les sites Universdupc