22
Fascicule d’Atelier Système d’Exploitation Ben Ammar Lassaad Annéé universitaire 2011/2012

Fascicule d'Atelier Système d'Exploitation

Embed Size (px)

Citation preview

Page 1: Fascicule d'Atelier Système d'Exploitation

Fascicule d’Atelier Système d’Exploitation

Ben Ammar Lassaad

Annéé universitaire 2011/2012

Page 2: Fascicule d'Atelier Système d'Exploitation

2

Page 3: Fascicule d'Atelier Système d'Exploitation

Table des matières

1 INTRODUCTION AU SYSTEME MS-DOS 5

1.1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2 Structure de MS-DOS . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2.1 Le noyau (kernel) . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2.2 L’interpréteur de commande (Shell) . . . . . . . . . . . . . . . 5

1.3 Organisation des données sous MS-DOS . . . . . . . . . . . . . . . . 6

1.3.1 Fichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3.2 Répertoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.4 Concepts fondamentaux . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4.1 Chemin d’accès . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4.2 4.2. Les caractères génériques . . . . . . . . . . . . . . . . . . 7

1.4.3 Les commandes MS-DOS . . . . . . . . . . . . . . . . . . . . . 7

1.4.4 Les variables d’environnement . . . . . . . . . . . . . . . . . . 8

2 LES COMMANDES USUELLES 9

2.1 Les commandes de gestion de répertoire . . . . . . . . . . . . . . . . 9

2.1.1 Dir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.2 CD (ou CHDIR) . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.3 MD (ou MKDIR) . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.4 RD (ou RMDIR) . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.1.5 Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.1.6 Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2 Les commandes de gestion des fichiers . . . . . . . . . . . . . . . . . . 10

2.2.1 Edit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2.2 Attrib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.3 Copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.4 Xcopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.5 Del ou Erase . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2.6 Move . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2.7 Ren ou Rename . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2.8 Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.3 Commandes supplémentaires . . . . . . . . . . . . . . . . . . . . . . . 12

3

Page 4: Fascicule d'Atelier Système d'Exploitation

4 TABLE DES MATIÈRES

3 LA REDIRECTION, LES FILTRES ET LES MACROS 153.1 Redirection des entrées/sorties . . . . . . . . . . . . . . . . . . . . . . 153.2 Les filtres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.2.1 La commande Find . . . . . . . . . . . . . . . . . . . . . . . . 153.2.2 La commande More . . . . . . . . . . . . . . . . . . . . . . . . 16

3.3 Les Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4 LES FICHIERS DE COMMANDES 194.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.2 Les paramétres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.3 Commandes spécifiques aux fichiers batch . . . . . . . . . . . . . . . 20

4.3.1 La commande echo . . . . . . . . . . . . . . . . . . . . . . . . 204.3.2 La commande call . . . . . . . . . . . . . . . . . . . . . . . . . 204.3.3 La commande goto . . . . . . . . . . . . . . . . . . . . . . . . 214.3.4 La commande if . . . . . . . . . . . . . . . . . . . . . . . . . . 214.3.5 La commande for . . . . . . . . . . . . . . . . . . . . . . . . . 21

Page 5: Fascicule d'Atelier Système d'Exploitation

Chapitre 1INTRODUCTION AU SYSTEME

MS-DOS

1.1 INTRODUCTION

MS-DOS (MicroSoft Disk Operating System) est une version de DOS développépar la société Microsoft au début des années 80. Il s’agit d’un système d’exploitationmono-tâche et mono-utilisateur. Il est doté d’un interpréteur de commande en modetexte.

1.2 Structure de MS-DOS

1.2.1 Le noyau (kernel)

Il prend en charge les services de gestion de mémoire, gestion des périphériques,etc. Il réside dans deux fichiers cachés sur le disque :

– IO.SYS : il contient l’interfaçage périphérique par défaut ainsi que les routinesd’accès au BIOS (interruption 10h et 13h).

– MSDOS.SYS : un fichier ASCII avec les attributs r (lecture seule), s (sys-tème) et h (caché). Il contient des informations pour le démarrage du système.Il est exécuté immédiatement après IO.SYS.

1.2.2 L’interpréteur de commande (Shell)

Le fichier COMMAND.COM (fichier apparent) contient l’interpréteur de com-mande de MS-DOS. Le rôle de l’interpréteur de commande est d’analyser les com-mandes tapées au clavier par l’utilisateur est les transmet au système. Vous pouvezlancer l’interpréteur de commande en procédant comme suit :

– Cliquer sur le menu Démarrer.– Tapez command (sous Windows 98) ou cmd (sous Windows XP).– Cliquer sur ok.

5

Page 6: Fascicule d'Atelier Système d'Exploitation

6 CHAPITRE 1. INTRODUCTION AU SYSTEME MS-DOS

1.3 Organisation des données sous MS-DOS

Les données sont organisées sous MS-DOS sous la forme des fichiers et des ré-pertoires.

1.3.1 Fichier

Le fichier est l’unité de base de stockage de l’information. Il correspond à un en-semble de données homogène contenant des informations ou réalisant un programmeexécutable. Tous fichier est repérée par un nom. Sous MS-DOS, le nom de fichierest composé de deux parties séparées par un point : nom et extension (suffixe). Lenom est soumis à des restrictions :

– Il est formé de 8 caractères au maximum (imposé par le système de fichierFAT).

– Il ne doit pas contenir espace, virgule, barre oblique (antislash) et point.– Il ne doit pas appartenir à la liste des mots réservés suivante : CLOCK$, CON,

AUX, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3, NUL, PRN.Seules les caractères suivants sont acceptés par MS-DOS pour le nom : les lettres deA à Z, les chiffres de 0 à 9, les caractères spéciaux suivants : $ ˜ ! # % & - { } ( )@ ’ _ .̂L’extension est utilisée habituellement pour donner une information sur la naturedu fichier. La longueur maximale de l’extension sous MS-DOS et 3 caractères. Lesystème MS-DOS impose les extensions suivantes :

– .SYS : fichier système.– .EXE : fichier exécutable.– .COM : fichier de commande exécutable.– .BAT : fichier de commande (batch, un fichier texte).

Sous MS-DOS, un fichier est doté de 4 attributs :

– a : (archive) utilisé pour les commandes de sauvegarde (backup, restore, xcopy).– r : (read only) lecture seule.– s : (attribut système) utilisé pour les fichiers systèmes.– h : (hideen) fichier cache.

1.3.2 Répertoire

Les répertoires peuvent être considérés comme étant des dossiers (déjà c’est leursnoms sous Windows) qui servent à ranger et à organiser les fichiers sous la formed’une arborescence. Cette façon de structuration (organisation) permet de faciliterla recherche des fichiers. Les fichiers relatifs à un même sujet appartiennent généra-lement à un même répertoire. Il est difficile de manipuler les répertoires sans savoirle répertoire où on est (répertoire courant). MS-DOS indique le nom du répertoirecourant dans l’invite de commande (prompt). L’invite suivant indique qu’on est dansle répertoire Etudiant, C :\Documents and Settings\Etudiant>.Le répertoire racine est le répertoire à partir duquel tous les autres répertoires se

Page 7: Fascicule d'Atelier Système d'Exploitation

1.4. CONCEPTS FONDAMENTAUX 7

créent. Ce dernier ne porte pas de nom et il est représenté par une barre oblique(. Lorsque le répertoire courant est la racine, l’invite de commande de MS-DOS estsemblable au suivant : C :\>. On ne peut pas supprimer le répertoire racine.

1.4 Concepts fondamentaux

1.4.1 Chemin d’accès

L’accès à un fichier sur un disque exige la connaissance de son nom et sa loca-lisation dans l’arborescence. Le chemin d’accès d’un fichier (chaîne de noms) est ladescription complète des répertoires permettant l’accès à ce fichier (ou répertoire)depuis l’endroit ou on se trouve. Les noms de répertoires son séparés par le caractèreantislash (.MS-DOS utilise deux types de chemin :Chemin absolu : lorsque le chemin comporte la racine (C :\Documents and Set-tings\Etudiant\monPremierFichier.txt).Chemin relatif : lorsque le chemin comporte la liste des répertoires à suivre à par-tir du répertoire courant (Etudiant\monPremierFichier.txt si on suppose qu’on estdans le répertoire Documents and Settings).

1.4.2 4.2. Les caractères génériques

MS-DOS offre la possibilité d’utiliser des caractères dits génériques dans la dé-signation de nom de fichiers :

– * : n’importe quelle combinaison de caractères.– ? : n’importe quel caractère.

Exemple

– Dir *.exe : affiche tous les fichiers d’extension exe.– Dir i ? ? ?.exe : affiche les fichiers dont les noms commencent par i, comportent

4 caractères et d’extensions exe.

Lors de l’utilisation de chemin d’accès, les caractères suivants peuvent être utiliséspour une raison ou autre :

– : désigne la racine.– . : désigne le répertoire courant.– .. : désigne le répertoire parent.

1.4.3 Les commandes MS-DOS

Pour que MS-DOS comprenne ce que vous voulez faire, il faudra communiqueravec lui par des mots standardisés.Syntaxe d’une commande : <Verbe> <paramètres> <options>

Remarque : Il est recommandé de séparer chaque élément par un espace et de nepas introduire d’espace à l’intérieur d’un élément.

Page 8: Fascicule d'Atelier Système d'Exploitation

8 CHAPITRE 1. INTRODUCTION AU SYSTEME MS-DOS

MS-DOS utilise deux types de commandes :

– Les commandes internes sont les commandes contenues dans COMMAND.COM,elles sont chargées dans la mémoire centrale lors du lancement de l’ordinateur.Exemple : CD, MD, RD, COPY, CLS,

– Les commandes externes sont les commandes faisant l’appel à un fichier spé-cifique (extension .com ou .exe).Exemple : FORMAT, SYS, EDIT, DISKCOPY, TREE.

Pour obtenir de l’aide sur une commande particulière, il suffit de rajouter à lacommande les caractères / ? ou d’utiliser la commande help. La commande helpdirectement donne la liste des commandes.

1.4.4 Les variables d’environnement

Une variable d’environnement est une variable dynamique contenant une infor-mation utilisable par les logicielles et le système d’exploitation. Le format d’unevariable d’environnement sous MS-DOS est %VARIABLE%. L’affichage se fait sim-plement par la commande echo. Pour lister toutes les variables d’environnement dusystème taper la commande set sans argument. La variable path , programmableavec la commande path, indique la liste des répertoires dans laquelle il faut chercherla commande à exécuter.La variable prompt, programmable avec la commande prompt, permet de person-naliser l’invite de commande.On peut utiliser la commande set pour créer des variables d’environnement dansl’instance courante de la fenêtre MS-DOS. La fermeture de la fenêtre provoque lasuppression de la variable créé par l’utilisateur.

Page 9: Fascicule d'Atelier Système d'Exploitation

Chapitre 2LES COMMANDES USUELLES

2.1 Les commandes de gestion de répertoire

2.1.1 Dir

affiche la liste des fichiers et des sous-répertoires figurant dans un répertoirequelconque.Syntaxe : DIR [lecteur :][chemin][fichier]

– /P : arrêt après chaque écran d’information.– /S : Affiches les fichiers d’un répertoire spécifie et de tous ses sous répertoires.

Application

1. Ecrire la commande qui affiche tous les fichiers et les sous répertoires du ré-pertoire windows page par page.

2. Afficher les fichiers qui commencent par "w" et d’extension "exe"

3. Afficher tous les fichiers dont le nom comprend 7 caractères commençant par"wm" et d’extension "log".

2.1.2 CD (ou CHDIR)

Change le répertoire courant (active un nouveau répertoire).Syntaxe : CD [lecteur :][chemin]

– cd.. : pour remonter au répertoire parent.– cd \ : Pour remonter au répertoire racine.

Application

1. Activer le répertoire "help" sous le répertoire "windows".

2. Activer le répertoire "program files", sachant que le répertoire courant est"c :\windows\help".

2.1.3 MD (ou MKDIR)

Crée un nouveau répertoire.Syntaxe : MD [lecteur :] [chemin] <nom répertoire>

9

Page 10: Fascicule d'Atelier Système d'Exploitation

10 CHAPITRE 2. LES COMMANDES USUELLES

Application

1. Créer le répertoire "sysexp" sous le répertoire C :\Documents and settings\Etudiant.

2. Activer le répertoire " sysexp ".

3. Créer 3 répertoires "rep1", "rep2" et "rep3" en une seule commande.

2.1.4 RD (ou RMDIR)

Supprime un nouveau répertoire. Le répertoire doit être vide et ne doit pas êtrele répertoire courant.Syntaxe : RD [lecteur :] [chemin] <nom répertoire>

Application

1. Supprimer le répertoire "sysexp".

2.1.5 Tree

représente graphiquement l’arborescence d’un lecteur ou d’un cheminSyntaxe : TREE [lecteur][chemin]

– /F : afficher les noms des fichiers contenus dans chaque répertoire.Application

1. Afficher l’arborescence du répertoire " Windows ".

2.1.6 Path

Afficher ou définir le chemin de recherche des fichiers exécutables (.exe, .com,.bat).Syntaxe :Path [lecteur :][chemin]Path ; : pour effacer le chemin de recherche et indiquer à cmd.exe de ne chercherque dans le répertoire en cours.Path : indique le chemin en cours.Path[nouveau chemin] ; %path% : ajouter un nouveau chemin à l’ancien cheminde recherche. Même chose pour path = %path% [nouveau chemin].

Application

1. Exécuter excel à partir de c :\.

2.2 Les commandes de gestion des fichiers

2.2.1 Edit

crée un nouveau fichier ou ouvrir un fichier existant.Syntaxe :Edit [lecteur :][chemin] fichier.

Page 11: Fascicule d'Atelier Système d'Exploitation

2.2. LES COMMANDES DE GESTION DES FICHIERS 11

Application

1. Créer le fichier "test.txt" dans le répertoire "nom&prénom".

Remarque Création d’un fichier en utilisant la commande copy con.

1. C : repcourant>copy con fichier.

2. Taper le contenu du fichier.

3. Taper "ctrl+z" pour enregistrer et quitter.

2.2.2 Attrib

Afficher ou modifier les attributs de fichier.Syntaxe :ATTRIB [+R ou -R][+A ou -A][+H ou -H] [+S ou -S]<fichiers>.La commande utilisée seule montre pour les fichiers mentionnés la présence ou l’ab-sence de ces attributs.Le symbole + active l’attribut, tandis que le symbole - le désactive.

Application

1. Rendre le fichier "test.txt" en lecteur seul.

2. Désactiver l’attribut lecteur seul pour le fichier "test.txt".

3. Rendre le fichier "test.txt" un fichier système et invisible.

2.2.3 Copy

Copier un ou plusieurs fichiers sur un autre emplacement. Fusionner deux ouplusieurs fichiers sources dans un fichier cible.Syntaxe :COPY[lecteur :][chemin]fichier1 + [[lecteur :][chemin]fichier2][+. . .]] [lec-teur :] [chemin][fichier_cible].

Application

1. Créer deux répertoires "rep1" et "rep2" dans le répertoire "c :\documents andsettings\etudiant\nom&prénom".

2. Créer le fichier "fich1.txt" dans le répertoire "rep1" contenant la phrase "salutmonsieur".

3. Copier le fichier "fich1.txt" dans le répertoire "rep2"

4. Créer un deuxième fichier "fich2.txt" contenant la phrase "comment ça va"dans le répertoire "rep2".

5. Concaténer les deux fichiers "fich1.txt" et "fich2.txt" dans un troisième nommé"fich3.txt" dans le répertoire "rep1".

2.2.4 Xcopy

copie les fichiers et des arborescences de répertoires.Syntaxe :XCOPY [source] [cible] [/E] [/S]

Page 12: Fascicule d'Atelier Système d'Exploitation

12 CHAPITRE 2. LES COMMANDES USUELLES

– /S : copie les répertoires et sous répertoires non vide.– /E : copie les répertoires et sous répertoires, même les vides.Application

1. Copier le fichier "fich1.txt " dans c :\documents and settings\etudiant\NVrepsans utiliser la commande md pour créer le nouveau répertoire NVrep.

2. Copier le répertoire rep1 dans rep2 dans NVrep.

2.2.5 Del ou Erase

Supprime un ou plusieurs fichiers. On peut spécifier plusieurs fichiers en utilisantles caractères génériques (*, ?).Syntaxe : DEL [lecteur :][chemin]nom_fichier

Application

1. Supprimer le fichier "Fich1.txt".

2.2.6 Move

Déplacer un ou plusieurs fichiers d’un répertoire à un autre.Syntaxe : MOVE [lecteur :][chemin]fichier[,. . .] destination

Application

1. Déplacer les fichiers d’extension ".txt" du répertoire "rep2" dans le répertoire"rep1".

2.2.7 Ren ou Rename

Renommer un fichier/répertoire ou un groupe de fichier ou répertoires.Syntaxe : REN[lecteur :][chemin]rep1\nom_fichier1 rep2\nomfichier2

Application

1. Renommer le fichier "fich1.txt" en "tp1.txt".

2.2.8 Type

Visualiser le contenu d’un fichier texte.Syntaxe : TYPE [lecteur :][chemin]nomfich

Application

1. Visualiser le contenu de fichier " tp1.txt ".

2.3 Commandes supplémentaires

Page 13: Fascicule d'Atelier Système d'Exploitation

2.3. COMMANDES SUPPLÉMENTAIRES 13

Tab. 2.1 – Commandes Supplémentaires.Commande DésignationCLS Effacer l’écran.CMD Démarrer une nouvelle instance de l’interpré-

teur de commande.EXIT Quitter l’interpréteur de commande.START Ouvrir une fenêtre et exécuter le pro-

gramme ou la commande spécifier. Exemple :c :\>start notepad t.txt.

DATE Affiche et modifie la date courante.TIME Affiche et modifie l’heure courant.TITLE Modifie le titre de la fenêtre DOS.COLOR Changer la couleur de fond et de l’écriture.PROMPT Modifier l’invite de MS-DOS.L’invite peut

contenir des caractères normaux, ainsi quecertains codes. Prompt tout cours permet derevenir sur l’invité standard.

SHUTDOWN Arrête l’ordinateur.TASKLIST Affiche la liste des processus actuellement en

cours sur un ordinateur local ou un ordina-teur distant.

Page 14: Fascicule d'Atelier Système d'Exploitation

14 CHAPITRE 2. LES COMMANDES USUELLES

Page 15: Fascicule d'Atelier Système d'Exploitation

Chapitre 3LA REDIRECTION, LES FILTRES ET

LES MACROS

3.1 Redirection des entrées/sorties

Chaque système d’exploitation utilise des canaux (appelé flux standards) pourl’entrée et la sortie des données. Généralement, on a trois types de flux : entréestandard, sortie standard et erreur standard. Le système MS-DOS utilise par défautle clavier comme entrée standard et l’écran comme sortie standard. Cependant, ilest possible de rediriger l’entrée ou la sortie standard en utilisant les symboles "<"et ">" sur la ligne de commande.

– Le signe ">" redirige la sortie standard vers un fichier ou un périphérique(imprimante).

– Le signe "<" rend un tel fichier l’entrée standard d’une commande.L’utilisation du double signe "> >" permet d’ajouter le résultat d’une commandesans avoir supprimé l’ancien contenue. Pour rediriger la sortie d’un programme versl’entrée d’un autre on utilise le signe "|" (AltGr+6).Application

1. Ecrire la commande qui permet de rediriger le contenue du répertoire courantvers le fichier liste.txt.

2. Ecrire la commande qui permet de stocker les fichiers exécutables du répertoireWindows dans le fichier listeexe.txt.

3. Ajouter le contenue du répertoire Windows dans le fichier liste.txt.

3.2 Les filtres

3.2.1 La commande Find

Elle permet la recherche d’une chaine de caractères dans un (ou plusieurs) fichier(s). Bien que MS-DOS ne soit pas sensible à la case, il différencie entre majusculeet minuscule pour la chaine saisie.Syntaxe : find "chaine" [[lecteur][chemin] fichier[. . .]] [/v][/c][/n][/i]

15

Page 16: Fascicule d'Atelier Système d'Exploitation

16 CHAPITRE 3. LA REDIRECTION, LES FILTRES ET LES MACROS

– /v : affiche toutes les lignes qui ne contiennent pas la chaine spécifiée.– /c : affiche seulement le nombre des lignes contenant la chaine spécifiée.– /n : affiche les lignes qui contiennent la chaine spécifiée précédé par leur numéro

de ligne dans le fichier.– /i : ignore la sensibilité à la case lors de la recherche de la chaine.Application

1. Rechercher les lignes contenant le mot "windows" dans le fichier "liste.txt" etenregistrer le résultat dans un fichier nommé "nvliste.txt".

2. Afficher seulement les sous répertoires du répertoire "Windows".

3. Afficher le nombre des fichiers du répertoire courant.

3.2.2 La commande More

Permet l’affichage des données en marquant une pause après chaque écran.Syntaxe :

– more [lecteur] [chemin] fichier

– more < [lecteur] [chemin] fichier

– commande | more

Application

1. Affiche le contenu du fichier "listeexe.txt" écran par écran. (2 manières diffé-rents).

2. Afficher l’arborescence du répertoire "Windows" écran par écran.

3.3 Les Macros

Une macro est un ensemble de commandes que vous pouvez exécuter en tapantle nom de la macro. Les macros et les fichiers de commandes sont très semblablespuisqu’ils contiennent tous deux un ensemble de commandes que vous exécutez entapant un nom.Les macros définies étant stockées en mémoire vive, alors que les fichiers de com-mandes sont stockés sur disque. C’est pour cette raison que les macros s’exécutentplus rapidement et que vous pouvez les exécuter depuis n’importe quel répertoire.En revanche, lorsque vous réinitialiser ou redémarrer votre système, les macros sontperdues alors que les fichiers de commandes restent disponibles.Pour créer une macro, vous tapez DOSKEY suivi du nom de la macro, d’un signeégal et des commandes qu’elle contient.(Taper doskey/ ? pour voir l’aide de cette commande).Pour inclure plusieurs commandes dans une macro, séparer les commandes par lesigne du dollar ($) et la lettre "T". Application

1. Créer une macro qui permet de créer un répertoire "rep1", de l’activer et decréer trois sous répertoire "r1", "r2", "r3" du répertoire "rep1".

Page 17: Fascicule d'Atelier Système d'Exploitation

3.3. LES MACROS 17

Pour lancer une macro, vous taper son nom sur la ligne de commande. Si la macrocomporte des paramètres, séparez-les du nom de la macro par espace.Pour afficher tous les macros tapez DOSKEY/macros.Pour enregistrer des macros stockées dans la mémoire, utilisez la commande DOS-KEY avec le commutateur/macros, le signe supérieur (>) et un nom de fichier.

Page 18: Fascicule d'Atelier Système d'Exploitation

18 CHAPITRE 3. LA REDIRECTION, LES FILTRES ET LES MACROS

Page 19: Fascicule d'Atelier Système d'Exploitation

Chapitre 4LES FICHIERS DE COMMANDES

4.1 Présentation

Un fichier batch (en français, traitement par lots) est un fichier texte, qui portel’extension .exe, contenant une ou plusieurs commandes DOS. L’exécution de la listedes commandes figurant dans le fichier batch se fait d’un seul coup en tapant le nomdu fichier. Les fichiers batch permettent alors d’automatiser certaines procédures(sauvegarde quotidienne des données) et taches répétitives (fastidieuses à entrerplusieurs fois au clavier). Ils permettent aussi d’exécuter d’une manière simple decommande complexe. Application

1. Créer un fichier de commande "section.bat" qui permet de créer un répertoire"section" et deux sous répertoires "gr1" et "gr2".

2. Créer un fichier de commande "net.bat" qui permet d’éliminer les fichierstemporaires du disque dur.

4.2 Les paramétres

La plupart des fichiers batch s’exécutent au seul énoncé de leur nom, maisd’autres exigent l’entrée de paramètres. On appelle paramètre tous les argumentspassé à un programme ou une commande. Les paramètres sont séparés par des es-paces. MS-DOS affecte la valeur %0 au premier mot rencontré c’est-à-dire au nomdu batch, puis la valeur %1 au deuxième mot c’est-à-dire au premier paramètre,etc. jusqu’à un maximum de dix paramètres. Ces paramètres permettent de modu-ler l’exécution du fichier batch en fonction de données choisies par l’utilisateur. Onconstate que le DOS précède le numéro des paramètres du signe "%".

Exemple illustratif :

Soit le fichier batch copie.bat qui permet de copier un fichier d’un répertoire àun autre. Le contenu du fichier copie.bat rassemble au suivant :@echo off

Rem programme de copiage d’un fichier

Copy %1 %2

19

Page 20: Fascicule d'Atelier Système d'Exploitation

20 CHAPITRE 4. LES FICHIERS DE COMMANDES

L’appel de ce fichier se fait de la manière suivante :copie *.txt c :\documents and settings\etudiantLe paramètre %0 reçoit copieLe paramètre %1 reçoit *.txtLe paramètre %2 reçoit c :\documents and settings\etudiant.

4.3 Commandes spécifiques aux fichiers batch

Toute commande MSDOS qui peut être utilisée sur la ligne de commande peutégalement être dans un fichier de commande. De plus, il y a des commandes spéci-fiquement conçues pour ces fichiers.

4.3.1 La commande echo

MS-DOS affiche sur l’écran les commandes du fichier batch avant de les exécutés.La commande echo dirige cette visualisation. Si on souhaite simplement afficher lerésultat, il faut masquer la ligne affichant les commandes avant leurs exécutions.Cela est faisable grâce à la commande echo off qui désactive l’echo.

La réactivation de l’echo est possible à tous moment dans un fichier batch parla commande echo on. La commande echo, seule sur une ligne, affiche l’état deecho (on ou off).En conséquence, pour demander une ligne vide dans un fichier batch, il faut entrerecho suivi d’un point, qui ne se verra pas et ne produira pas l’affichage de l’état deecho. Par défaut, au début d’un fichier "batch", echo est on.Paradoxalement, la commande qui sert à annuler l’affichage s’affiche elle-même àl’écran. Pour remédier à cela, toute commande (y compris echo off) précédée dusymbole @ ne sera pas afficher.Application

1. Ecrire un fichier de commande "affiche.bat" qui permet de d’afficher le mes-sage suivant :- - - - - - - - - - - - - - - -début exécution de procédure- - - - - - - - - - - - - - - -fin exécution de procédure

4.3.2 La commande call

La commande call appelle un fichier de commande à partir d’un autre. Aprèsavoir traité le fichier batch appelé, le programme revient au premier fichier batch età l’endroit précis où le fichier batch a été appelé.On peut appeler un fichier batch à partir d’un autre en utilisant simplement sonnom. Cette solution est ne permet pas de revenir au fichier appelant après avoirtraité le fichier appelé.

Page 21: Fascicule d'Atelier Système d'Exploitation

4.3. COMMANDES SPÉCIFIQUES AUX FICHIERS BATCH 21

Application

1. Créer un fichier de commande "section1.bat" qui permet de créer un répertoire"section" et faire appel à un deuxième fichier "groupe .bat", ce dernier permetd’activer le répertoire "section" et créer deux sous répertoires "G1" et "G2".Donner le contenu de deux fichiers.

4.3.3 La commande goto

Normalement, chaque ligne du fichier est lue après l’autre jusqu’à la fin. La com-mande goto vous permet d’orienter la suite de l’exécution vers une ligne quelconqueidentifiée par une étiquette.Une étiquette est un nom de 8 caractères maximum, précédé de deux points ( : ) ;ceci afin d’éviter la confusion avec un nom de commande.Application

1. Créer un fichier de commande " branchement.bat " qui permet d’afficher lemot " bonjour " infiniment de fois (boucle infinie).Donner le contenu du fichier.

4.3.4 La commande if

Le branchement sur une étiquette devient intéressant quand il est combinéavec une instruction de test.La commande if exécute une commande en se basant sur l’évaluation d’unecondition.IF [NOT] "condition" == "valeur" commandeIF [NOT] EXIST fichier commandeN’oublier pas d’encadrer la condition et la valeur par des guillemets. MS-DOSne différencie pas entre le majuscule et le minuscule que pour le contenue desvariables. C.-à-d. il ne différencie pas entre les commandes (MD et md) etentre les noms des fichiers et répertoires (fichier et FICHIER). Par contre, lavaleur "AIDE" est différente de "aide" .

4.3.5 La commande for

Syntaxe

For % variable (=itérateur) in (ensemble) do commande [paramètres]

%variable Spécifie un paramètre remplaçable par une seule lettre, variable d’itération

(ensemble) Ensemble (de fichiers). Caractères génériques autorisés.

commande Commande à exécuter pour chaque fichier.

paramètres Liste des paramètres ou des options pour la commande spécifiée.

Page 22: Fascicule d'Atelier Système d'Exploitation

22 CHAPITRE 4. LES FICHIERS DE COMMANDES

En ligne de commande, l’itérateur est de la forme %a.Dans un script, l’itérateur est de la forme %%a. De plus, %x n’est pas égal à %X.Voyons quelques cas d’utilisation :

– FOR %variable IN (ensemble) DO commande [paramètres]Exemple : @echo off for %%i in (1 2 3 4) Do Echo C’est le nombre %%i%%i est utilisé seulement en tant que nom de variable. Cette variable prendalors toutes les valeurs de la liste spécifiée entre les parenthèses : dans notre cas,%%i prend donc successivement les valeurs 1, 2, 3, et 4. Les valeurs constituantla liste doivent être séparées entre elles par des espaces, des virgules, ou despoints virgules. Ensuite, la commande qui suit immédiatement est exécutéeavec la valeur prise par la variable %%i. Dans notre cas, on verra à l’écran lemessage "C’est le nombre" suivi de la valeur de la variable à chaque exécutionde ECHO.

– FOR /L %variable IN (début,pas,fin) DO commande [paramètres]Exemple : @echo off For /l %%i in (5,-1,1) do @echo %%i