MS DOS
I- Les différentes parties du DOS
Le DOS comporte en tous 7 parties :
1) La Rombios :
C’est un élément de la mémoire morte (EPROM : Electronic Programmable Read Only Memory) qui exécute le BOOTSTRAP (connexion au secteur de boot ou BOOTSECTEUR) dès la mise sous tension de l’ordinateur.
2) Le programme d’amorçage ou BOOTSECTEUR :
Il se trouve sur le premier secteur du disque système ou du disque dur système et permet de charger 2 fichiers : IO.SYS et MSDOS.SYS.
3) Le fichier IO.SYS (Input/Output) :
Ce fichier fournit une interface de bas niveau avec la Rombios et gère les Entrées/Sorties des différents périphériques (clavier, écran,…).
4) Le fichier MSDOS.SYS :
Il fournit une interface de haut niveau avec les programmes d’application et gère les fichiers.
REMARQUE : Les fichiers IO.SYS et MSDOS.SYS sont des fichiers systèmes et par défaut, ils sont cachés ou non visibles (pour des raisons de sécurité).
5) Le fichier COMMAND.COM :
Il contient toutes les commandes internes (del, copy, dir,…). Il traite toutes les commandes que l’utilisateur envoi au système d’exploitation.
6) Les fichiers de commandes externes :
Ce sont tous les fichiers qui ont pour extension : EXE.COM.
7) Les fichiers de configuration :
Ils ont pour extension : .SYS ou.CPI
Ex : Config.sys
II – Le fichier COMMAND.COM :
A la mise sous tension, si aucune tâche particulière n’est lancée, l’écran affiche le message d’attente symbolisé par « > », autrement appelé le PROMPT.
Ex :
A :> Démarrage d’une application sur ou à partir du lecteur A
C :> Démarrage d’une application sur ou à partir du lecteur C
Cet indicatif repère le début de la ligne. La saisie des commandes MSDOS s’effectue au clavier et doit être validée par la touche [Entrée]. L’action sur cette touche provoque 2 opérations :
- La sauvegarde de la commande dans le tampon d’édition.
- Le lancement de l’interpréteur de commandes (COMMAND.COM) pour rechercher et exécuter une routine correspondant à la demande.
En cas d’erreur de syntaxe, MSDOS dispose d’une aide. On peut y accéder en tapant la commende HELP, qui a pour effet de donner la liste de toutes les commandes et leur syntaxe, ou en tapant le nom de la commande suivi de « / ? ».
III – Format général d’une commande MSDOS :
Une commande MSDOS peut être munie d’une ou plusieurs options entourées par des crochets.
C :> commande [unité d’origine][nom de fichier][unité de destination][commutateur]
Ex :
C :>copy C:\autoexec.bat C:\SAUVE
Un commutateur indique à MSDOS comment la commande doit être exécutée.
Le commutateur commence en général par un slash « / ».
Ex :
C :>copy C:\*.* C:\SAUVE /S (® copie les fichiers de ts les sous répertoires).
IV – Les commandes :
DATE : affiche la date du système.
CLS : Clear Screen, efface l’écran.
1) Les attributs des fichiers :
R : read only ® lecture seule
H : hidden ® caché
S : system ® système
A : archive ® indique un fichier qui a été modifié
La commande ATTRIB permet d’ajouter ou d’enlever un ou plusieurs attributs sur un fichier.
Le signe + permet d’ajouter, par défaut il est actif.
Le signe – permet d’enlever un attribut.
Ex :
C :>attrib –r +a config.sys
Dans une syntaxe de commande, on peut assimiler la commande à une phrase ; c’est à dire que les mots sont séparés par un espace.
2) La gestion des fichiers :
La commande « copy » permet de manipuler tous les fichiers, transfert d’un lecteur à un autre, d’un dossier à un autre, …
Ex :
COPY A:\ nom.ext C:\ Transfert d’un lecteur à un autre
COPY A:\ *.ext C:\ Copie tous fichiers de types EXT
COPY A:\ N*.ext C:\ Copie tous fichiers de type EXT et commençant par N
COPY A:\*.* C:\ Copie tous les fichiers de A : vers C :
COPY nom1.txt + nom2.txt nom txt Fusionne 2 fichiers dans un troisième dans le répertoire courant.
XCOPY (nécessite xcopy.exe) Elle équivaut à la commande « copy », mais elle dispose d’options supplémentaires.
xcopy A:\*.* C:\ /s /m Copie tous les fichiers de A : vers C :, et tous les fichiers des sous répertoires qui ont l’attribut archive activé.
- Changement de nom de fichier :
® RENAME (renommer)
REN nom.ext nouveau.ext
- Effacement des fichiers :
ERASE nom.ext
DEL nom.ext
- Obtenir une liste des fichiers :
DIR = Affiche le contenu d’une DIRectory ® répertoire, dossier
Ex :
DIR /A = Affiche les fichiers et leurs attributs.
DIR /P = Affiche la liste des fichiers en marquant une pause à chaque fin de page.
DIR /W = Affiche la liste des fichiers en colonne, sans détails.
DIR /B = Affiche juste le nom des fichiers, sans détails.
DIR /S = Affiche les fichiers de tous les répertoires et sous-répertoires.
- Visualisation du contenu d’un fichier :
TYPE nom.ext
TYPE nom.ext more (touche AltGr+6) ou more
- Impression d’un fichier :
L’impression s’effectue par le signe supérieur « > » suivi de LPT1 ou de PRN.
DIR > LPT1
DIR > nom.ext
Ex :
DIR > liste.txt
DIR C:\windows >> C:\liste.txt = CONCATENATION
- La concaténation :
> Créer s’il n’existe pas et remplace tout dans un fichier texte
>> Créer s’il n’existe pas et ajoute dans un fichier texte
Ex :
Dir/ ?> dir .txt
Copy/ ?> dir txt
- Se déplacer dans les répertoires :
CD = Change Directory.
CD.. = Permet de revenir d’une directory en arrière.
CD\ = Permet de revenir directement à la racine du lecteur.
CD NOM REPERTOIRE = Se déplacer dans le répertoire.
REMARQUE : Sous MSDOS (FAT16), on ne gère que les noms de fichiers courts. Un nom de fichier doit contenir au maximum 8 caractères et doit porter une extension de 3 caractères au maximum. Le nom et l’extension sont séparés par un point. Tout nom composé de plus de 8 caractères sera tronqué par le signe tilde ~.
- Gestion des répertoires :
CD… = Permet de remonter de 2 directory.
MD ou MKDIR (Make Directory) = Créer un répertoire.
RD (Remove Directory) = Détruire un répertoire vide.
REMARQUE : Ce sont des commandes internes.
DELTREE = Permet de supprimer toute une arborescence, c’est à dire tous les fichiers, répertoires et sous répertoires.
REMARQUE : C’est une commande externe.
- Le répertoire de travail :
Par défaut, toute commande externe exécutée à partir d’un répertoire le sera si elle existe dans ce répertoire.
Ex :
C:\>deltree Word
COMMANDE INCORRECTE
PATH (chemin) = C:\dos
La variable PATH permet d’appeler un fichier exécutable ne se trouvant dans le répertoire de travail ou répertoire courant.
Pour entrer plusieurs chemins, on les rentre séparer par un point virgule.
Ex :
PATH = C:\dos ;C:\windows\command
V – Les fichiers de traitement par lot ou fichier BATCH :
Les Batch sont des fichiers qui permettent le traitement par lot des commandes MSDOS. S'il y a une suite de commandes que l’on doit régulièrement effectuer, on place ces commandes dans un fichier qui portera une extension de type .BAT ou .CMD.
On peut y mettre tout type de commandes (ex : cls, cd, md, copy,…) mais certaines instructions sont spécifiques au Batch. Ils peuvent crées à partir de n’importe quel éditeur reconnaissant l’ ASCII.
1) Instruction ECHO :
Cette instruction sert à 2 choses :
- à afficher du texte à l’écran,
- à demander d’afficher ou non la suite des instructions.
Le signe arrobas (@ : alt+64) permet de ne pas afficher l’instruction en cours.
Ex :
@copytoto.txt C:\titi.txt
On copie toto.txt vers C : mais sans afficher l’instruction
C:>dir>toto.txt
Application :
@echo off = Instruction 1
echo Bonjour = Instruction 2
echo Florent
Pour éviter d’avoir à mettre l’arrobas à toutes les instructions, on peut mettre l’instruction « @echo off ». Cela demande au Batch de ne pas afficher les lignes d’instructions qui suivent mais tout en les exécutant.
L’instruction « echo on » rétablit l’affichage. Par défaut, l’instruction « echo » est à ON.
2) Instruction EXIST :
EXIST permet de tester l’existence d’un fichier ou d’un répertoire.
Ex :
@ECHO OFF
IF EXIST C:\toto.txt ECHO le fichier existe
IF NOT EXIST C:\toto.txt ECHO le fichier n’existe pas
On test le fichier, si le test est vrai alors on fait : [instruction]
3) Instruction CHOICE :
Créer un menu dans lequel on impose des choix à un utilisateur.
Options :
/C : [touche] ® Spécifie les touches à proposer. Par défaut, on aura O et N pour Oui ou Non.
/N ® Ne pas afficher les touches et ? à l’ invite.
/S ® Différencie les majuscules des minuscules.
/T : c (exemple touche), nn (valeur à rentrer) ® La touche « c » sera sélectionnée par défaut au bout de nn secondes, si l’utilisateur ne fait pas son choix.
Ex : « MENU.BAT »
@ECHO OFF
: MENU à Etiquette menu
CLS
ECHO d) Lancer defrag )
ECHO s) Lancer scandisk ) à Affichage des choix
ECHO q) Quitter )
CHOICE /C : dsq Que désirez-vous faire ?
IF ERRORLEVEL = 3 GOTO def )
IF ERRORLEVEL = 2 GOTO scan ) à Test de la réponse
IF ERRORLEVEL = 1 GOTO fin )
: def ---------------------------------à)
defrag )
goto menu )
)
:scan ----------------------------------à) à Etiquette
scandisk )
goto menu )
)
: fin ---------------------------------à )
Application : « SAUVE.BAT »
On veut avoir le choix entre :
1) Faire une sauvegarde des fichiers du répertoire C:\windows\favoris vers C:\sauve (si la directory n’existe pas la créée automatiquement) et enregistrer le tout dans un fichier journal .log stocké sous C:\sauve
2) Lister le contenu du répertoire C:\sauve
3) Vider le répertoire C:\sauve
4) Lire le fichier journal.log
5) Quitter
4) Les paramètres :
La directive %1 (signe « pour cent » plus un numéro de 1 à 9) permet de traiter le paramètres transmis au fichier Batch. On peut donc transmettre jusqu’à 9 paramètres.
Ex : Le fichier X.bat contient echo %1. Si l’on tape X.bat toto, on affiche toto.
Param.bat
Pour transmettre le paramètre on tape le nom du batch suivi du paramètre.
Ex :
C :> param.bat arthur
Arthur = résultat de echo %1
Param.bat
@echo off
if « %1 »==« » goto erreur == à Comparaison du contenu
echo %1
goto fin
:erreur
echo Veuillez entrer au moins un paramètre
:fin
Ex2 :
@echo off
:copie
if « %1 »== « » goto fin
copy c:\*.%1 c:\sauve
shift
goto copie
:fin
ð explications :
Le test « IF » commence par tester s’il n’y a rien en paramètre. Dans ce cas on termine le Batch en allant à l’étiquette « FIN », sinon, on copie les fichiers dont l’extension se trouve dans le premier paramètre. La commande « SHIFT » décale les paramètres d’un cran. C’est à dire que le contenu du deuxième paramètre se retrouve en premier, puis le troisième se place en deuxième, et ainsi de suite jusqu’au dernier. Le dernier se retrouve donc vide. Et enfin, « GOTO COPIE » permet de retourner au début du traitement.
Avec le test « IF », on effectue les traitements jusqu’à ce que le premier soit vide.
5) Le fichier CONFIG.SYS :
Les commandes de ce fichier chargent des programmes particuliers en mémoire et gèrent le fonctionnement du matériel
Ce fichier s’il existe, est lu au démarrage. De ce fait, à chaque modification du fichier, il faut rebooter. Il permet de configurer par Ex : une souris, un disque de mémoire virtuel, la programmation de l’affichage de l’écran, la programmation du clavier, le nombre de fichiers ouverts simultanément, la valeur des variables d’environnement.
- BUFFERS (mémoire tampon) : Attribue de la mémoire à un certain nombre de mémoires tampons du disque lors du lancement du système ; le 1er paramètre spécifie le nombre de mémoire du disque, compris entre 1 et 99.
- FILES : Indique le nombre de fichiers auxquels peut accéder simultanément MS DOS. Les valeurs admises vont de 8 à 255.
- LASTDRIVE : Spécifie le nombre maximal de lecteurs accessibles. La lettre indiquée représente le dernier lecteur valide, par défaut F.
- DEVICE : Charge en mémoire le gestionnaire de périphériques indiqué
- DEVICEHIGH : Charge en mémoire, dans la zone de mémoire supérieure, le gestionnaire de périphériques indiqué.
- COUNTRY : Permet à MS DOS d’activer différents formats internationaux, relatifs aux monnaies, dates et heures.
Exemple d’un fichier :
DEVICE = C:\DOS\HIMEM.SYS (Gestionnaire de mémoire haute HIGH MEMORY).
BUFFERS = 15.0 (On alloue le chiffre 15 au tampon principal).
FILES = 30 (Nombre de fichier qui peuvent être ouverts simultanément).
LASTDRIVE = E (Le dernier lecteur sera E : s’il existe).
DOS = HIGH (On charge les commandes DOS internes en mémoire haute).
COUNTRY = 033 (code pays), 850 (page de code associé), C:\DOS\COUNTRY.SYS
a) Les menus dans le fichier config.sys :
Il est possible sous DOS, 95, 98 et ME de faire un menu de démarrage, dans lequel ont peut choisir les périphériques qui seront chargés sous DOS, ou encore de démarrer sous Windows ou sous DOS. Il suffit de modifier les fichiers CONFIG.SYS et AUTOEXEC.BAT.
On utilise des étiquettes, à la différence des fichiers Batch, celle-ci ont comme syntaxe
[nom_étiquette]. On utilise également l’élément menuitem pour définir le contenu du menu.
[MENU]
menuitem = dos, démarrer en mode MS DOS
nom de l’étiquette choix qui sera afficher pour l’utilisateur
où aller
Ex :
CONFIG.SYS :
[COMMON]
FILES = 20
COUNTRY = 033, 850, C:\WINDOWS\COMMAND\COUNTRY.SYS
[MENU]
menuitem = dos, démarrage de l’ordinateur en mode MS DOS
menuitem = windows, démarrage de l’ordinateur en mode WINDOWS
[DOS]
DEVICE =C:\WINDOWS\HIMEM.SYS
DOS = HIGH
[WINDOWS]
DEVICE = C:\WINDOWS\HIMEM.SYS /TESTMEM.OFF
LASTDRIVE = 2
DEVICE = C:\WINDOWS\COMMAND\DISPLAY.SYS CON = (ega,,1)
Le fichier CONFIG.SYS renvoi une variable qui contient le nom de l’étiquette selectionnée.
Cette variable est : CONFIG
On accède à son contenu par %CONFIG%
AUTOEXEC.BAT
GOTO %CONFIG%
: DOS
Keyb fr,, C:\WINDOWS\COMMAND\KEYBOARD.SYS
GOTO FIN
: WINDOWS
SET PATH = C:\WINDOWS ; C:\WINDOWS\COMMAND
SET TEMP = C:\WINDOWS\TEMP
Keyb fr,, C:\WINDOWS\COMMAND\Keyboard.sys
Win
: FIN
MSDOS.SYS :
[PATHS] [Options]
WinDir = C:\WINDOWS BootMulti = 1
WinBootDir = C:\WINDOWS BootGUI = 0
HostWinBootDir = C
Application :
- Disquette de démarrage avec ou sans prise en charge du CDRom.
Prise en charge d’un CDRom :
Chargement du gestionnaire (driver) de CDRom dans le CONFIG.SYS
DEVICE = C:\CDROM\cdrom.sys /D :MSCD001
Chemin Nom d’unité
Nom du pilote
Chargement du programme de prise en charge du CDRom
C:\WINDOWS\COMMAND\MSCDEX.EXE /D : MSCD001 /L : E
Lettre du lecteur