Commandes du système d'exploitation
Commandes du système d'exploitation
Nous avons vu qu'un Système d'Exploitation était un outil de la famille des logiciels de base capable d'apporter, de
fournir des services aux logiciels d'applications, de manière transparente à l'utilisateur : ce sont en effet les programmes
d'application qui font appel aux services du système d'exploitation sans que l'utilisateur en soit conscient.
Il arrive cependant qu'on ait à demander directement des services au système, sans passer par un logiciel d'application :
deux modes de communication existent alors :
• le mode graphique : il permet, grâce à une interface graphique conviviale (fenêtres et autres objets graphiques), de
faire appel aux principaux services du système et de répondre aux besoins usuels (création de dossiers...), de la même
manière que lorsque nous travaillons avec les logiciels d'applications.
• le mode texte (console) : historiquement le premier, il reste disponible et permet d'appeler des services par
l'intermédiaire de commandes : une commande correspond au code d'appel d'un programme du système qui fournit un
service déterminé.
L'utilisation dans un cadre professionnel (informatique) d'un système d'exploitation requiert la connaissance du langage de
commandes. Cette connaissance sera plus ou moins approfondie en fonction du profil (orienté administration ou orienté
développement).
L'objectif de ce module est de :
• Présentation sommaire du système
• Rappeler quelques notions relatives au mode commande
• Faire une liste non exhaustive des commandes du SE Windows
• Expliquer les fichiers batch
• Donner quelques exemples de fichiers batch
I – Présentation générale
A l'origine Ms-Windows était une interface graphique adaptée à Ms-DOS (Microsoft Disk Operating System). Le nom
Windows provient du fait qu'on utilise des fenêtres pour représenter la surface de travail sur laquelle on exploite les
programmes d'application et les documents.
1. Structure du système
Comme la plupart des systèmes d'exploitation, il est composé de 2 parties :
• Partie résidente: C'est l'ensemble des programmes qui sont chargés en mémoire centrale à l'initialisation des systèmes
et qui restent présents durant toute l'utilisation de la session. Elle est aussi appelée noyau du système. Elle contient
notamment un programme spécifique appelé interpréteur de commandes qui permet à l'utilisateur de communiquer avec le
système d'exploitation grâce à un langage appelé langage de commande.
• Partie externe : C'est l'ensemble des programmes appelés utilitaires qui sont stockés sur un support externe et qui sont
chargés en fonction de leur besoin en mémoire centrale pour pouvoir être exécutés.
2. Le système de fichiers
1. Répertoires ou dossiers
Dans les premières versions de MS DOS, les capacités de stockage étaient limitées. Le système de fichiers permettait
d'enregistrer et de gérer les données sur disque dans un seul bloc. Plus tard pour remédier à cette limite, on a créé un
système de répertoires organisés en arborescence. Cela consiste à structurer les données sur disque en un modèle
hiérarchique. Le disque possède un répertoire racine dans lequel on a la possibilité de créer d'autres répertoires permettant
de découper l'unité en blocs. Chaque bloc peut lui-même être découpé en répertoires et ainsi de suite. Dans ce système un
répertoire est rattaché à un seul répertoire père et chaque répertoire est défini par sa position dans l'arborescence appelée
chemin d'accès. Pour matérialiser la racine et délimiter les noms de répertoires, on utilise un caractère spécifique
l'antislash \.
Un chemin d'accès peut être :
• Absolu : c'est à dire qu'il commence depuis la racine (\), par exemple
c:\mesdoc\mesrapports\2005\synthese.doc,
ou
• Relatif : dans ce cas, la description ne commence que depuis le répertoire courant ; par exemple,
2005\synthese.doc si le répertoire courant est 'mesrapports'
Le répertoire courant est celui dans lequel on se trouve (il est en général affiché dans le prompt de l'invite de commande).
1/8
Commandes du système d'exploitation
Représentation en mode Commande Représentation en mode Graphique
2. Fichiers
Un fichier est une unité de stockage des informations sur un support lisible par l'ordinateur. C'est un ensemble de données
homogènes caractérisé par le type de données qu'il contient.
Un fichier est caractérisé par un nom et une extension. Cette dernière permet de définir le type de fichier, c'est-à-dire le
type de données qu'il contient.
Utilisation des caractères joker dans les noms de fichiers
Un caractère joker est un caractère qui peut être remplacé par n'importe quel autre caractère.
Caractère Définition
? Remplace un autre caractère quelconque
fichier?.txt : Pour matérialiser tous les fichiers qui commencent par fichier et qui ne
peuvent avoir au maximum 1 caractère après et qui portent l'extension txt
* Remplace un ou plusieurs caractères
fichier*.txt : Pour matérialiser tous les fichiers qui commencent par fichier et qui portent
l'extension txt. Cette fois-ci il peut y voir plusieurs caractères après le mot fichier
On a la possibilité de combiner les 2 types de caractères joker dans un nom tout comme dans une extension.
II – LE LANGAGE DE COMMANDES
1. Rappel
Les commandes sont un moyen de communiquer avec le Système d'Exploitation de manière textuelle. Nous verrons ici
l'utilisation des commandes du SE Windows. Les commandes peuvent varier selon la version du système d'exploitation, il
est conseillé de vérifier la syntaxe d'une commande avant son utilisation.
L'appel de l'interpréteur de commandes se fait, sous Windows, par :
Démarrer/Exécuter/Ouvrir : cmd
2/8
Commandes du système d'exploitation
L'invite de commande représente la possibilité de saisir une commande :
Pour quitter l'interpréteur de commande, il faut saisir la commande : EXIT
2. Le shell
C'est un interpréteur de commandes, la partie du système d'exploitation utilisé comme interface avec l'utilisateur (en mode
texte). Il permet l'exécution de script Batch (suite de commandes d'un fichier exécutable avec l'extension .BAT).
L'interpréteur de commandes est lui-même un programme qui inclus un certain nombre de services (on parle des
commandes internes à CMD, résidentes : DIR, COPY, TYPE...) ; les autres services qu'il peut invoquer sont externes.
3. Redirection des résultats
Il est possible de rediriger le résultat sur un autre périphérique que l'écran (console) par défaut :
• > Redirection vers un des périphériques
• >> Redirection vers un des périphériques, mais ajout en fin (possible dans le cas d'un fichier)
La liste des codes périphériques disponibles :
CON : console (moniteur) ; c'est l'option par défaut
PRN : imprimante
LPT1 : port imprimante 1 (vous pouvez indiquer un autre numéro de port)
COM1 : port série 1 (vous pouvez indiquer un autre numéro de port)
Le nom d'un fichier : si le fichier n'existe pas, il sera créé, sinon il sera soit écrasé (redirection de type >) soit complété
(redirection de type »)
Autre symboles de redirection :
< Redirige un fichier vers une commande (en entrée d'une commande); exemple : SORT /+12 < c:\fichier.txt
| Redirige le résultat d'une commande vers une seconde commande
!! AVERTISSEMENT : ATTENTION A L'UTILISATION DES CARACTERES DE SUBSTITUTION
Avant toute utilisation d'une commande utilisant ces caractères et qui modifie de manière important votre système
(suppression de fichiers, de répertoires, renommer, changer des attributs...), vous devez impérativement tester l'étendue de
ces caractères sur la commande.
Si vous souhaitez, par exemple, supprimer tous les fichiers rapports de votre système, avant de lancer la commande DEL
rap*, lancez la commande DIR rap* qui vous permettra de contrôler visuellement les fichiers qui seront supprimés.
4. Syntaxes
Le lancement d'une commande répond à une syntaxe du type :
COMMANDE [Paramètres 1 [parametre2 [...]]] [/Optionl [/option2 [...]]]
Les paramètres et les options dépendent de la commande (se rapprocher de l'aide fournie par le système d'exploitation).
Par exemple, pour copier le fichier imagel.jpg sur la disquette en vérifiant :
COPY image1.jpg a: /V
Pour avoir plus d'informations sur une commande spécifique, et notamment ses paramètres, entrez l'une des 2
commandes ci-dessous :
HELP nom de la commande Ou Nom de la commande /?
Exemple pour obtenir l'aide relative à la commande DIR : DIR /?
3/8
Commandes du système d'exploitation
5. Les commandes
Pour chacune des commandes appelez l'aide pour trouver la signification et la syntaxe. Ne retenez que les options utiles
lorsqu'il y en a trop.
1. Commandes pour la gestion des fichiers
Noms Descriptions Syntaxes
ATTRIB Affiche ou modifie des attributs de
ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[lect:] [chemin] fichier]
fichier. [/S [/D]]
COPY Copie un ou plusieurs fichiers sur
COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] source [/A | /B]
un autre emplacement. [+ source [/A | /B] [+ ...]] [cible [/A | /B]]
DEL Supprime un ou plusieurs fichiers.
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributs]] noms
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributs]] noms
DIR Affiche une liste de fichiers et de DIR [lecteur:][chemin][nom_de_fichier] [/A[[:]attributs]] [/B] [/C] [/D] [/L]
sous-répertoires dans un [/N] [/O[[:]tri]] [/P] [/Q] [/S] [/T[[:]heure]] [/W] [/X] [/4]
répertoire.
FIND Recherche une chaîne de texte FIND [/V] [/C] [/N] [/I][/OFF[LINE]] "chaîne" [[lecteur:][chemin]
dans un ou des fichiers. nom_de_fichier[...]]
MOVE Déplace des fichiers et renomme Pour déplacer un ou plusieurs fichiers :
des fichiers et répertoires. MOVE [/Y | /-Y] [lecteur:][chemin]fichier1[,...] destination
Pour renommer un répertoire:
MOVE [/Y | /-Y] [lecteur:][chemin]répert1 répertoire2
PRINT Imprime un fichier texte. PRINT [/D:périphérique] [[lecteur:][chemin]nom_de_fichier[...]]
REN Renomme un ou plusieurs fichiers. RENAME [lecteur:][chemin]nom_de_fichier1 nom_de_fichier2.
REN [lecteur:][chemin]nom_de_fichier1 nom_de_fichier2.
TYPE Affiche le contenu d'un ou plusieurs TYPE [lecteur:][chemin]nom_de_fichier
fichiers texte.
UNDELETE Déplace des fichiers et renomme Pour déplacer un ou plusieurs fichiers :
des fichiers et répertoires. MOVE [/Y | /-Y] [lecteur:][chemin]fichier1[,...] destination
Pour renommer un répertoire:
MOVE [/Y | /-Y] [lecteur:][chemin]répert1 répertoire2
4/8
Commandes du système d'exploitation
2. Commandes pour la gestion des répertoires
Noms Descriptions Syntaxes
CD Affiche le nom ou change le CHDIR [/D] [lecteur:][chemin]
répertoire en cours. CHDIR [..]
CD [/D] [lecteur:][chemin]
CD [..]
MD Crée un répertoire. MKDIR [lecteur:]chemin
MD [lecteur:]chemin
RD Supprime un répertoire. RMDIR [/S] [/Q] [lecteur:]chemin
RD [/S] [/Q] [lecteur:]chemin
3. Les utilitaires
Noms Descriptions Syntaxes
CHDSK Vérifie un disque et affiche un CHKDSK [volume[[chemin]nom_de_fichier]] [/F] [/V] [/R] [/B] [/L[:taille]]
rapport d'état.
CLS Efface l'écran. CLS
DISKCOP Copie le contenu d'une disquette DISKCOPY [lecteur1: [lecteur2:]] [/V]
Y vers une autre.
DOSKEY Édite des lignes de commande, DOSKEY [/REINSTALL] [/LISTSIZE=taille] [/MACROS[:ALL |
mémorise des commandes :nom_d'exe]]
Windows XP [/HISTORY] [/INSERT | /OVERSTRIKE] [/EXENAME=nom_d'exe]
et crée des macros. [/MACROFILE=nom_de_fichier] [nom_de_macro=[texte]]
ECHO Affiche des messages ou ECHO [ON | OFF]
active/désactive l'affichage des ECHO [message]
commandes.
FORMAT Formate un disque utilisable avec FORMAT volume [/FS:sys_fich] [/V:nom_volume] [/Q] [/A:taille] [/C]
Windows XP. [/X]
FORMAT volume [/V:nom_volume] [/Q] [/F:taille]
FORMAT volume [/V:nom_volume][/Q][/T:pistes /N:secteurs]
FORMAT volume [/V:nom_volume][/Q]
FORMAT volume [/Q]
LABEL Crée, modifie ou supprime le nom LABEL [lecteur:][nom_volume]
de volume d'un disque. LABEL [/MP] [volume] [nom_volume]
MORE Affiche les sorties écran par écran. MORE [/E [/C] [/P] [/S] [/Tn] [+n]] < [lect:][chemin]fichier
nom_de_commande | MORE [/E [/C] [/P] [/S] [/Tn] [+n]]
MORE /E [/C] [/P] [/S] [/Tn] [+n] [fichiers]
SUBST Associe un chemin à une lettre de SUBST [lect1: [lect2:]chemin]
lecteur. SUBST lect1: /D
TREE Affiche graphiquement la structure TREE [lecteur:][chemin] [/F] [/A]
de dossiers d'un lecteur ou d'un
chemin.
VOL Affiche le nom et le numéro de série VOL [lecteur:]
du volume, s'ils existent.
XCOPY Copie des fichiers et des XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
arborescences de répertoires. [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]
[/EXCLUDE:fich1[+fich2][+fich3]...]
4. Commandes pour la gestion des répertoires
Noms Descriptions Syntaxes
COLOR Change les couleurs par défaut du premier et de l'arrière plan de la console. COLOR [attr]
DATE Affiche ou modifie la date. DATE [date]
TIME Affiche ou modifie l'heure système. TIME [/T | heure]
TITLE Définit le titre de la fenêtre pour une fenêtre DOS. TITLE [chaîne]
VER Affiche le numéro de version de Windows XP. VER
PROMPT Change l'invite de cmd.exe. PROMPT [texte]
5/8
Commandes du système d'exploitation
III – LES FICHIERS BATCH
Un fichier batch est un fichier qui regroupe une suite logique de commandes. Il a pour extension .BAT et est directement
exécutable par le système.
Les commandes sont enregistrées ligne par ligne et seront exécutées séquentiellement. C'est ce qui permet d'automatiser
certaines tâches.
1. Les commandes spécifiques
ECHO
ECHO ON/OFF : permet d'activer/désactiver l'affichage des commandes qui sont exécutées. Par défaut c'est la commande
ECHO ON qui est utilisée. ECHO message : permet l'affichage du message ECHO : affiche une ligne blanche
REM
permet d'insérer des commentaires dans le fichier batch. Les commentaires sont très importants dans les programmes.
PAUSE
permet de suspendre l'exécution du fichier. Un message du style « Appuyer sur une touche pour continuer » s'affiche.
GOTO
permet de casser la séquence d'exécution des commandes, de continuer l'exécution à un endroit donné différent dans le
code. GOTO étiquette
IF
permet d'exécuter une commande si une condition est vérifiée.
EXIST/NOT EXIST nomde fichier : permet de vérifier l'existence ou non d'un fichier
variable == valeur : test la variable égale à la valeur
SET
SET variable = valeur : permet d'affecter une valeur à une variable.
ERRORLEVEL/NOT ERRORLEVEL valeur
chaque commande en fin d'exécution génère un code dont la valeur est comprise entre 0 et 255. Ce code est stocké dans
la variable système ERRORLEVEL. On peut la tester après chaque exécution de commande la valeur de ce code avec
cette commande. Le code 0 indique que la commande s'est bien déroulée.
CALL
permet de lancer l'exécution d'un autre fichier batch à partir d'un fichier batch. Lorsque l'exécution du fichier batch appelé
est terminée, on revient à la commande suivante dans le fichier batch appelant.
Appuyer sur la combinaison des touches Ctrl + C
permet d'arrêter le programme en cours d'exécution.
2. Une commande particulière Choice
Elle permet à un utilisateur d'appuyer sur une touche et ensuite de tester la touche appuyée avec la commande IF
ERRORLEVEL.
CHOICE /C:touches /N /S /T:c, nn texte
/C: 1,2,3,5 affiche [1,2,3,5] ; par défaut les touches sont O/N
/N : supprime l'affichage des touches de l'option précédente
/S : doit respecter la casse des caractères mentionnés dans l'option /C (majuscule/minuscule)
/T : c,nn : donne un délai pour la saisie /T : 2,15 si l'utilisateur n'a pas fait son choix, au bout de 15s, le choix 2 sera celui
pris par défaut.
3. Création d'un fichier batch
Pour créer un fichier batch, vous pouvez utiliser un éditeur de texte. Directement depuis l'interpréteur de commandes, vous
pouvez appeler EDIT, l'éditeur de texte, accessible par la commande EDIT.
6/8
Commandes du système d'exploitation
4. Passage de paramètres
Il est possible de paramétrer un fichier batch. On peut ainsi l'exécuter en insérant des données externes. Les paramètres
dans un fichier batch sont définis sous la forme %numéro (%1, %2...). Chaque paramètre est identifié par son numéro qui
correspond à l'ordre dans lequel on transmettra ces paramètres lors de l'exécution du fichier batch. Le paramètre %0 est
toujours réservé au nom du fichier batch en cours d'exécution.
Il n'est possible d'utiliser que 10 paramètres au maximum. Pour palier ce problème, on a recours à la commande SHIFT qui
permet de décaler les paramètres d'un cran (le paramètre2 devient paramètre 1, le paramètre2 devient paramètre2....)
5. Exemple de fichiers batch
(On considère les fichiers crées à la racine du lecteur c:, c'est-à-dire en c:\ )
Exemple 1 : Si le répertoire temp contient des fichiers ayant l'extension DOC, le programme formate une disquette insérée
dans le lecteur et y copie ces fichiers, puis les protègent en lecture seule.
Si ce fichier s'appelle copier.bat, on va le lancer de la manière suivante :
C:\> copier
@echo off
REM sauvegarder les fichiers doc, s'il y en a,
REM sur une disquette formatée et protéger ces fichiers (lecture)
REM Tester l'existence de fichiers DOC dans le répertoire c:\temp
IF NOT EXIST c:\tempV.doc GOTO etiqRIEN
ECHO il y a des documents a sauvegarder
REM Effectuer un formatage rapide de la disquette
FORMAT a: /Q /V:sauvdoc
REM Copier avec vérification
COPY c:\temp\*.doc a: /V
REM protéger les fichiers (lecture seule)
ATTRIB A:\*.* +r
REM afficher les noms des fichiers ayant l'attribut lecture seule
DIR a:\*.* /A:r /W
goto fin
:etiqRien
ECHO rien a copier aujourd'hui
: fin
PAUSE
@echo on
Exemple 2 : Afficher la liste des paramètres passés au programme batch
Si ce fichier s'appelle decaler.bat, on va le lancer de la manière suivante :
C:\> décaler bonjour comment ca va
@echo off
REM Affiche tous les paramètres passes
REM Paramètre en entrée : de 0 a n valeurs à afficher
: début
IF "%1" =="" GOTO fin
ECHO Paramètre trouve = %1
SHIFT
pause
GOTO début
: fin
Pause
7/8
Commandes du système d'exploitation
Exemple 3 : Copier un répertoire source et ses sous-répertoires dans un répertoire d'une disquette.
Si ce fichier s'appelle sauv.bat, on va le lancer de la manière suivante :
C:\> sauv trav svtrav
@echo off
REM Copie des dossiers et sous-dossier de C vers a
REM paramètres en entrée : dossier source et dossier destination
SET origine=c:\%l
SET destination=a:\%2
ECHO copie de %origine% vers %destination%
REM si le répertoire existe on le crée pas
IF EXIST %destination% GOTO suite
ECHO création nouveau dossier de destination
MD %destination%
GOTO copie
: suite
ECHO dossier de destination existe déjà
: copie
REM copie les répertoires et sous-repertoire (même vides)
XCOPY %origine% %destination% /E
REM attribut en lecture seule fichiers, dossiers et sous-dossiers
ATTRIB %destination% +r /D /S
@echo on
Exemple 4 : Créer une page Web ! ! ! (C'est un exemple qui montre qu'on aussi faire n'importe quoi...attention, çà n'est
pas le but... à chaque outil, son usage)
Si ce fichier s'appelle exo.bat, on va le lancer de la manière suivante :
C:\> exo site nom prénom métier
@echo off
SET site=c:\temp\index.htm
REM écrire la page index.htm
ECHO "<html><head><title>Presentation de %l</title></head>" > %site%
ECHO "<body><hl>Bienvenue sur ma page %1</hl><!— " >> %site%
ECHO " --><div style=color:red;text-align:center;>je m'appelle %2 %3, <br
/>et je veux être %4 </div><!— " » %site%
ECHO " --><a href : //www.weboplanet.com>consulter les cours</a></bodyX/html>" >> %site%
REM afficher le contenu du fichier puis le modifier
TYPE %site%
Notepad %site%
PAUSE
REM lancement d'Internet Explorer
"c:\program files\internet explorer\iexplore.exe" "%site%"
@echo on
TRAVAIL A FAIRE
Travail 1 : Supprimer les fichiers temporaires du répertoire C:\windows\temp
Travail 2 : Créer le fichier batch PURGER.BAT qui permet de supprimer les fichiers temporaires d'un répertoire dont le nom
est passé en paramètre
8/8