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 on ne parle plus que de dossiers mais les deux mots sont complètement synonymes. Tout au moins l'étaient, car Windows XP a amené la notion de dossier compressé.
Ces fameux dossiers compressés n'étant, vus du système d'exploitation, que des fichiers comme les autres, cette regrettable polysémie ne peut que semer la confusion dans les esprits. Puisque ici on traite essentiellement du DOS seul le mot répertoire est employé.
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 de 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.
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 on ouvre une boîte DOS en mode commande, l'invite se présente généralement sous la forme : C:\Windows> . Le chemin d'accès indiqué dans l'invite est le répertoire courant, c:\windows dans cet exemple. Sans autre précision, fichiers et répertoires seront considérés comme appartenant à 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
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 déclaré au préalable à l'aide la commande path (chemin).
La commande 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 le fichier autoexec.bat contient la ligne suivante,
path c:\windows;c:\windows\command;c:\deskjet
le DOS 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.
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.
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> |
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.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 |
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 |
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.