# Commande DOS

Les systèmes DOS sont fournis en standard avec un nombre réduit de commandes, essentiellement destinées à la gestion des disques et des fichiers (d'où le D pour Disk, ou disque en français).
Il existe des commandes internes (contenues dans l'interpréteur) et des commandes externes (il faut les charger à partir d'une disquette). Les commandes DOS peuvent s'exécuter de manière interactive au sein de l'interface en ligne de commande ou en traitement par lot depuis un fichier de script portant l’extension .bat.

## Syntaxe

Une instruction DOS est constituée d'une commande, appelée aussi verbe, suivie de ses paramètres et peut se terminer par une ou plusieurs options. Une option de commande doit toujours être introduite par une barre oblique /, l'ensemble est appelé commutateur. Pour être correctement identifiés par l'interpréteur de commande, le verbe, les paramètres, ainsi que les commutateurs, doivent être séparés par des espaces.

### Présentation

Toutes les commandes DOS sont de la forme :
où chaque désignation entre crochets doit être sélectionnée par l'opérateur de saisie parmi tous les choix possibles. La position des commutateurs par rapport aux paramètres n'a pas d’incidence sur l'interprétation de l'instruction par le système. Ils peuvent être placés avant ou après les paramètres.
Exemple de commande :
| Commande: | DIR C:*.EXE /W |
| DIR | indique la commande MS-DOS pour afficher le contenu d'un dossier; |
| C:*.EXE | précise les paramètres sur lesquels doit agir la commande, ou C: est l'identificateur de l'unité de stockage (SSD, disque dur, CD/DVD, bande magnétique, etc.) et *.EXE sélectionne tous les fichiers (caractère *) ayant dont l'extension « EXE » (qui identifie un fichier de programme exécutable); |
| /W | assigne l’option W à la commande pour obtenir un affichage large du résultat. |
| Résultat: | Cette instruction DOS affiche au format large tous les fichiers exécutables du dossier principal de l'unité de stockage C. |
Bien que l’interpréteur COMMAND.COM reconnaisse les commandes MS-DOS indifféremment de la casse, elles sont affichées en majuscules par le système et dans la littérature de l'époque. Cette typographie remonte à ses origines avec le CP/M et le langage BASIC, mais aussi pour des raisons de lisibilité et de formalisme.

## Commandes

Liste des principales commandes de l'interpréteur de commande (DOS) :
| Commande | Alias | interne/externe | Description |
| APPEND | | externe | Établir un chemin de recherche pour les fichiers de données |
| ASSIGN | | externe | Affecter une lettre de lecteur à un lecteur différent. |
| ATTRIB | | externe | Fixer ou afficher les attributs d'un fichier. |
| BACKUP | | externe | Effectuer la sauvegarde d'un ou de plusieurs fichiers d'un disque sur un autre |
| BREAK | | interne | Contrôler la fréquence d'interception du caractère CONTROL-C par MS-DOS |
| CHCP | | interne | Afficher ou changer la page de code courante pour l'interpréteur de commande command.com. |
| CHDIR | CD | interne | Changer le répertoire courant; afficher le nom du répertoire courant. |
| CHKDSK | | externe | Vérifier le répertoire du lecteur par défaut ou désigné et en vérifier l'intégralité. |
| CLS | | interne | Effacer l'écran. |
| COMMAND | | | Exécuter les commandes internes MS-DOS. |
| COPY | | | Copier des fichiers. |
| CTTY | | | Changer le périphérique à partir duquel on entre les commandes. |
| DATE | | interne | Afficher et modifier la date. |
| DEL | | interne | Effacer un fichier. |
| DELTREE | | | Effacer un dossier et ses sous-dossiers. |
| DIR | | interne | Afficher la liste des dossiers et fichiers. |
| DISKCOMP | | externe | Comparer des disquettes. |
| DISKCOPY | | externe | Copier des disquettes. |
| ECHO | | | Afficher un texte à l'écran. "@Echo off" en début de programme masque le résultat des commandes effectuées (pour un programme en batch par exemple). |
| EDIT | | externe | Éditer un fichier texte. |
| EXE2BIN | | externe | Générer un fichier binaire à partir d'un fichier exécutable. |
| EXIT | | | Quitter l'interpréteur de commande et retourner au niveau précédent. |
| FASTOPEN | | | Réduire le temps nécessaire pour ouvrir les fichiers et les dossiers fréquemment utilisés. |
| FIND | | externe | Chercher une chaîne de caractères dans un fichier. |
| FDISK | | | Créer et afficher les partitions. |
| FORMAT | | externe | Formater un disque. |
| GRAFTABL | | | Charger une table de caractère graphique. |
| GRAPHICS | | | Préparer MS-DOS pour l'impression en mode graphique. |
| HELP | | | Lister les commandes disponibles et les paramètres. |
| JOIN | | externe | Charger un programme clavier. |
| KEYB | | | Changer le type de clavier (KEYB US ou KEYB FR) |
| LABEL | | externe | Attribuer une étiquette à un disque. |
| MKDIR | MD | interne | Créer un dossier. |
| MSCDEX | | externe | |
| MODE | | externe | Fixer les modes d'opération des périphériques. |
| MORE | | externe | Afficher les données de sortie d'une commande, écran par écran. |
| NLSFUNC | | | Charger des informations spécifiques au pays sélectionné. |
| PATH | | | Définir les chemins de recherche pour les documents. |
| PRINT | | externe | Imprimer les fichiers. |
| PROMPT | | | Définir le message de l'invite de commande (prompt). |
| REMEMORY | REM | interne | Insère une ligne de commentaire dans le script. |
| RENAME | REN | | Renommer un fichier. |
| RECOVER | | | Récupérer un disque ou un fichier défectueux. |
| REPLACE | | | Remplacer des versions antérieures des fichiers. |
| RESTORE | | | Restaurer des fichiers sauvegardés. |
| RMDIR | RD | interne | Supprime un dossier. |
| SELECT | | | Installer MS-DOS sur une nouvelle disquette avec les informations spécifiques au pays sélectionné et le type de clavier choisi. |
| SET | | interne | Affecter une valeur à une variable d'environnement ou afficher les variables de l'environnement. |
| SHARE | | externe | Installer le partage et le verrouillage de fichiers. |
| SORT | | externe | Trier les données dans un sens ou en sens inverse. |
| SUBST | | | Associer un lecteur à un nom de chemin. |
| SYS | | | Transférer les fichiers du système MS-DOS d'un lecteur vers un autre lecteur spécifié. |
| TIME | | interne | Afficher et définir l'heure. |
| TREE | | externe | Afficher tous les noms des dossiers et des fichiers. |
| TRUENAME | | interne | Afficher le vrai nom d'un fichier, après résolution des chemins relatifs, substitutions, et dossiers joints. |
| TYPE | | interne | Afficher un fichier texte. |
| VER | | | Afficher le numéro de version MS-DOS. |
| VERIFY | | interne | Vérifier toutes les écritures sur disque. |
| VOL | | interne | Afficher l'étiquette d'identification du volume. |
| XCOPY | | externe | Copier des fichiers et des dossiers. |
N.B: Il est aussi possible d'afficher l'aide relative à une commande en tapant "help CommandeVoulue".
Exemple: Je veux afficher l'aide de la commande CD.
Je vais donc écrire: "help cd".

### Commandes internes

On appelle commande interne toute commande faisant partie de l’interpréteur de commande. Par défaut, seul le programme COMMAND.COM était utilisé pour interpréter les commandes MS-DOS. D'autres interpréteurs ont été développés par la suite, notamment 4DOS.
* PROMPT Change le message d'attente de MS-DOS, syntaxe: prompt texte $caractère
** Cette commande permet de changer le message d'attente du système MS-DOS. Vous pouvez utiliser les caractères dans la commande prompt pour créer des messages d'attente spéciaux.
*** $q le caractère =
*** $$ le caractère $
*** $t l'Heure courante
*** $d La date courante
*** $p Le répertoire courant du lecteur par défaut
*** $v Le numéro de version
*** $n Le lecteur par défaut
*** $g Le caractère >
*** $l Le caractère <
*** $b le caractère |
*** $_ Une séquence de retour chariot et nouvelle ligne
*** $e Code ASCII X"1B" (Escape)
*** $h Retour-arrière (pour supprimer un caractère tapé sur la ligne de commande prompt)
**** exemple: prompt $p$g s'affiche a l'écran c:\>

### Commandes externes

Les commandes externes sont des logiciels qui fonctionnent dans l'interface en ligne de commande. Le système MS-DOS est livré avec un ensemble de commandes permettant d'administrer ce système dont voici la liste :