MS Dos Le DOS sied

Répertoires et dossiers

Répertoire ou dossier, les branches d'un même tronc

La notion de répertoire est familière à ceux qui ont découvert les systèmes d'exploitation Microsoft avant l'apparition de Windows 95 et de son concept de bureau. Depuis, métaphore oblige, le mot dossier est utilisé à la place de répertoire mais les deux sont complètement synonymes. Tout au moins l'étaient, car à partir de Windows XP le mot dossier peut aussi désigner d'autres objets. C'est le cas notamment des dossiers compressés qui, vus du système d'exploitation, sont des fichiers comme les autres.

Cette regrettable polysémie ne peut que semer la confusion dans les esprits. Ici on emploiera exclusivement le mot répertoire.

Quand on représente graphiquement la structure hiérarchique de tous les répertoires et sous-répertoires d'une unité de stockage, comme le fait l'Explorateur Windows, on obtient l'image d'un arbre dont les feuilles seraient les fichiers et l'on utilise l'expression arborescence des répertoires, l'unité elle-même étant désignée comme la racine.

Chemin d'accès et répertoire courant

Pour accéder à un fichier ou à un répertoire il faut indiquer, outre son nom, son chemin d'accès, c'est à dire toute la partie amont de l'arborescence, depuis l'unité jusqu'au sous-répertoire dont il dépend. Exemple :

c:\windows\command\ebd\ebd.cab

On parle ici de chemin d'accès absolu.

Quand elle n'a pas été modifiée par une commande prompt, l'invite de commande se présente sous la forme d'un chemin d'accès suivi du signe supérieur, par exemple :  C:\Windows> . Le chemin d'accès indiqué est le répertoire courant. Sans autre précision, fichiers et répertoires seront considérés comme appartenants à cette branche de l'arborescence.

Quand un chemin d'accès se réfère au répertoire courant on parle alors de chemin d'accès relatif. Pour le même fichier que précédemment et avec c:\windows comme répertoire courant on pourrait donc se contenter d'indiquer :

command\edb\edb.cab

La commande path

On n'est pas obligé d'indiquer le chemin d'accès d'un programme qu'on désire exécuter (.exe, .com ou .bat.) si ce chemin est indiqué dans la variable d'environnement path (chemin en anglais se dit path). Il s'agit d'une variable réservée qui s'initialise ou se modifie avec la commande du même nom : path.

La variable path peut contenir plusieurs chemins, séparés par un point-virgule. Ils sont parcourus dans l'ordre où ils sont indiqués.

Si on lance l'exécution de menu.bat et que la variable path contient

c:\windows;c:\windows\command;c:\deskjet

l'interpréteur de commandes recherche d'abord le programme menu.bat dans le répertoire courant puis dans c:\windows, dans c:\windows\command et enfin dans c:\deskjet.

Sous DOS ou sous Windows 9x la commande path est généralement contenue dans le fichier autoexec.bat mais elle peut être lancée à n'importe quel moment. Le contenu précédent est alors perdu. Pour simplement ajouter un nouveau chemin, on peut passer une commande path de la forme :

path %path%;c:\test\toto

Passée sans paramètres, la commande path affiche les chemins déclarés.

Commande path

La commande cd

Pour changer de répertoire courant on utilise la commande cd (forme abrégée de chdir pour change directory). Le tableau ci-dessous illustre l'effet de cette commande dans quelques cas.

invite avant commande commande invite après commande
C:\Windows> cd temp C:\Windows\Temp>
C:\Windows\Temp> cd \test C:\Test>
C:\Test> a: A:\>
A:\> cd c:\windows\command\ebd A:\>
A:\> c: C:\Windows\Command\Ebd>

La commande cd peut s'appliquer sur une unité différente de l'unité courante mais dans ce cas l'invite n'est pas modifiée. Pour aller sur le répertoire courant d'une autre unité il faut demander un changement d'unité en entrant simplement la lettre de cette unité et les deux points.

La commande cd peut aussi être utilisé avec le paramètre symbolique .. (double point) pour remonter d'une manière très simple au répertoire parent. Avec un troisième point on remonte au grand-parent et ainsi de suite. Voici quelques exemples :

invite avant commande commande invite après commande
C:\Windows\System32> cd .. C:\Windows>
C:\Windows\System> cd ... C:\>
C:\Windows\Inf\Qfe> cd ... C:\Windows>

La commande dir

Pour connaître le contenu d'un répertoire, on utilise la commande dir (directory). Cette commande accepte des paramètres et de nombreux commutateurs (voir chapitre sur l'aide en ligne pour les commandes). Le plus précieux de ces commutateurs est sûrement /p (pour page) qui permet d'afficher page par page le contenu du répertoire.

dir /p

Sans spécifier de paramètre c'est le contenu du répertoire courant qui est affiché du DOS. Si l'invite est :  C:\Windows> , on voit le contenu de c:\windows. Pour obtenir le contenu d'un autre répertoire il faut préciser le répertoire cible en paramètre, précédé par son chemin d'accès relatif ou absolu. Exemples :

invite avant et après commande répertoire cible commande
C:\Windows> c:\windows\temp> dir temp
C:\Windows> c:\test> dir \test
C:\Windows> c:\ dir \
C:\Windows> a:\ dir a:
C:\Windows> a:\ebd dir a:\ebd

On peut souhaiter n'afficher qu'une partie d'un répertoire, par exemple uniquement les fichiers dont le nom commence par ms, quelle que soit leur extension. On utilise pour cela un caractère joker, l'astérisque en l'occurrence. On entre alors :

dir ms*.*

Pour obtenir la liste des fichiers .bat contenus dans la racine de c: la commande devient :

dir \*.bat

On le voit, ce caractère joker remplace tous ceux qui le suivent. On peut aussi utiliser le point d'interrogation comme caractère joker, qui ne remplace que le caractère occupant sa position. Les deux caractères joker peuvent bien sûr être combinés.

dir ?y*.*

Cette commande liste les fichiers dont le nom comporte un y en deuxième position, quelle que soit leur extension.

Par défaut la commande dir ne porte que sur les seuls fichiers contenus directement dans le répertoire courant, le contenu des éventuels sous-répertoires n'est pas pris en compte. Pour étendre la portée de la commande dir au contenu des sous-répertoires, il faut lui adjoindre le commutateur /s (pour sub-directory). Autre option par défaut, les fichiers systèmes et les fichiers cachés ne sont pas listés. Pour les faire afficher, il faut utiliser le commutateur /a (pour attribut).

Exemple d'application, pour lister toutes les occurrences du fichier msdos.sys dans tous les répertoires et sous-répertoires de l'unité c: la commande dir s'écrit :

dir c:\msdos.sys /a /s /p

Afin d'éviter d'avoir à ressaisir les commutateurs que l'on utilise systématiquement, on peut modifier les options par défaut de la commande dir à l'aide de la variable d'environnement dircmd. Exemple :

set dircmd=/p /o /l /a

Sans indication complémentaire la commande dir affichera page par page (/p) et en minuscules (/l) d'abord la liste des sous-répertoires puis celle des fichiers avec leurs attributs (/a), chacune triée par ordre alphabétique (/o). On remarquera que l'ordre des commutateurs a été choisi pour former une séquence facile à mémoriser.

La commande md

Pour créer un nouveau répertoire on utilise la commande md (abrégé de mkdir pour make directory). Sauf indication d'un chemin spécifique, le répertoire est crée en tant que sous-répertoire du répertoire courant (en tant que répertoire principal si l'on pointe sur la racine). Le répertoire courant n'est pas modifié. Mieux qu'un long discours le tableau ci-dessous illustre le comportement de la commande md par quelques exemples.

invite avant et après commande répertoire à créer commande
C:\Test> c:\test\toto md toto
C:\Test> c:\toto md \toto
C:\Test> a:\toto md a:\toto

La commande rd

Pour supprimer un répertoire on utilise la commande rd (abrégé de rmdir pour remove directory). Comme pour les commandes précédentes, sans indication spécifique, le chemin est déterminé par rapport au répertoire courant.

Pour qu'un répertoire puisse être supprimé à l'aide de la commande rd, il ne doit plus contenir aucun fichier ni aucun sous-répertoire.

invite avant et après commande répertoire à supprimer commande
C:\Test> c:\test\toto rd toto
C:\Test> c:\toto rd \toto
C:\Test> a:\toto rd a:\toto

La commande deltree

Pour supprimer un répertoire, les fichiers qu'il contient et toute l'arborescence qui en dépend, on utilise la commande deltree (pour delete tree, pas de forme abrégée). Bien que le chemin d'accès au répertoire cible puisse être déterminé relativement au répertoire courant il est préférable, afin d'éviter une erreur qui pourrait se révéler désastreuse, d'indiquer un chemin absolu.

Pour supprimer c:\test, c:\test\toto et l'intégralité des fichiers contenus aussi bien dans c:\test que dans c:\test\toto, il suffit de passer la commande :

deltree c:\test

Dans les fichiers de commandes on utilise souvent le commutateur /y afin de supprimer la demande de confirmation.

 

Toutes les pages du site Les autres sites

accueil
aide en ligne sur les commandes
créer un menu de configuration dans le fichier config.sys
disquettes d'amorce
fichiers config.sys et autoexec.bat
fichiers de commandes
gestion de menus avec des fichiers de commandes
indicateurs de redirection et conduit
LPT1 et les imprimantes USB
mode console, DOS émulé ou natif
noms courts et noms longs
personnalisation du DOS
prise en compte des ports USB
répertoires et dossiers
un CD boîte à outils
variables d'environnement

Tentatives de bonnes réponses à des questions qui peuvent ne pas l'être

 

Les bricolages de Heffgé