L'interpréteur de commandes est un programme logiciel qui fournit une
communication directe entre l'utilisateur et le système d'exploitation.
L'interface utilisateur non graphique de l'interpréteur de commandes propose un
environnement dans lequel vous exécutez des applications et utilitaires basés
sur les caractères. L'interpréteur de commandes exécute des programmes et
affiche leur sortie à l'écran en utilisant des caractères individuels, comme
l'interpréteur de commandes
Vous pouvez utiliser l'interpréteur de commandes pour créer et éditer des fichiers de commandes (également appelés scripts) afin d'automatiser les tâches routinières. Par exemple, vous pouvez utiliser les scripts pour automatiser la gestion des comptes utilisateur ou des sauvegardes quotidiennes. En outre, l'environnement d'exécution de scripts Windows CScript.exe vous permet d'exécuter des scripts plus complexes dans l'interpréteur de commandes. Les fichiers de commandes vous permettent d'effectuer des opérations plus efficacement que l'interface utilisateur. Les fichiers de commandes acceptent toutes les commandes qui sont disponibles au niveau de la ligne de commande. Pour plus d'informations sur les fichiers de commandes et les scripts, consultez la section Utilisation des fichiers de commandes.
Vous pouvez personnaliser la fenêtre de l'invite de commandes pour un obtenir un meilleur affichage et pour mieux contrôler l'exécution des programmes. Pour plus d'informations sur la personnalisation de la fenêtre de l'invite de commandes, consultez la section Pour configurer l'invite de commandes.
La syntaxe apparaît dans l'ordre dans lequel vous devez taper une commande et tous les paramètres qui suivent. L'exemple suivant de la commande xcopy présente plusieurs formats de texte de la syntaxe :
Le tableau suivant explique comment interpréter les différents formats de texte.
Mise en forme | Signification |
---|---|
Italique | Informations que l"utilisateur doit fournir |
Gras | Éléments que l"utilisateur doit taper tels qu"ils sont indiqués |
Points de suspension (...) | Paramètre pouvant être répété plusieurs fois dans une ligne de commande |
Entre crochets ([]) | Éléments facultatifs |
Entre accolades ({}), avec séparation des options par une barre verticale (|). Exemple : {pair|impair} | Ensemble d"options parmi lesquelles l"utilisateur doit en choisir une seule |
Police Courier |
Code ou données de programme |
Vous pouvez exécuter plusieurs commandes à partir d'une seule ligne de commande ou d'un script utilisant des symboles de traitement conditionnel. Lorsque vous exécutez plusieurs commandes avec des symboles de traitement conditionnel, les commandes à droite du symbole de traitement conditionnel agissent en fonction des résultats de la commande à gauche du symbole de traitement conditionnel. Vous pouvez par exemple exécuter une commande uniquement si la commande précédente a échoué. Vous pouvez aussi exécuter une commande uniquement si la commande précédente a réussi.
Vous pouvez utiliser les caractères spéciaux figurant dans le tableau suivant pour transmettre plusieurs commandes.
Caractère | Syntaxe | Définition |
---|---|---|
& [...] | commande1 & commande2 | Permet de séparer plusieurs commandes sur la ligne de commande. Cmd.exe exécute la première commande, puis la seconde. |
&& [...] | commande1 && commande2 | Permet d'exécuter la commande suivant && uniquement si la commande précédant le symbole est exécutée correctement. Cmd.exe exécute la première commande, puis la deuxième commande uniquement si la première a été exécutée correctement. |
|| [...] | commande1 || commande2 | Permet d'exécuter la commande suivant || uniquement si la commande précédant || échoue. Cmd.exe exécute la première commande, puis la deuxième commande uniquement si la première a n'a pas été exécutée correctement (reçoit un code d'erreur supérieur à zéro). |
( ) [...] | (commande1 & commande2) | Permet de grouper ou d'imbriquer plusieurs commandes. |
; ou , | commande1 paramètre1;paramètre2 | Permet de séparer des paramètres de commande. |
Remarques
Vous pouvez imbriquer des interpréteurs de commandes au sein de Cmd.exe en ouvrant une nouvelle instance de Cmd.exe à l'invite de commandes. Par défaut, chaque instance de Cmd.exe hérite de l'environnement de son application Cmd.exe parente. En imbriquant des instances de Cmd.exe, vous pouvez apporter des modifications à l'environnement local sans affecter l'application parente de Cmd.exe. Cette opération vous permet de préserver l'environnement d'origine de Cmd.exe et d'y retourner lorsque vous quittez l'interpréteur de commandes imbriqué. Les modifications que vous apportez dans l'interpréteur de commandes imbriqué ne sont pas enregistrées.
Pour imbriquer un interpréteur de commandes, à l'invite de commandes, tapez :
cmd
Un message similaire au suivant apparaît :
Microsoft (R)
Windows XP (TM)
(C) Copyright 1985-2001 Microsoft Corp.
Pour fermer l'interpréteur de commandes imbriqué, tapez exit.
Vous pouvez encore mieux localiser les changements dans une instance de Cmd.exe (ou dans un script) en utilisant les commandes setlocal et endlocal. La commande Setlocal crée une étendue locale et endlocal termine l'étendue locale. Toutes les modifications apportées dans l'étendue de setlocal et endlocal sont rejetées, ce qui permet de garder l'environnement initial inchangé. Vous pouvez imbriquer ces deux commandes dans 32 niveaux au maximum. Pour plus d'informations sur les commandes setlocal et endlocal, consultez Setlocal et Endlocal.
L'environnement de l'interpréteur de commandes Cmd.exe est défini par des variables qui déterminent le comportement de l'interpréteur de commandes et le système d'exploitation. Vous pouvez définir le comportement de l'environnement de l'interpréteur de commandes ou l'environnement complet du système d'exploitation en utilisant deux types de variables d'environnement, système et locales. Les variables d'environnement système définissent le comportement de l'environnement global du système d'exploitation. Les variables d'environnement locales définissent le comportement de l'environnement de l'instance Cmd.exe en cours.
Les variables d'environnement système sont prédéfinies dans le système
d'exploitation et sont disponibles pour tous les processus
Les variables d'environnement locales sont disponibles uniquement lorsque l'utilisateur pour lequel elles ont été créées a ouvert une session sur l'ordinateur. Les variables locales définies dans la ruche HKEY_CURRENT_USER sont valides uniquement pour l'utilisateur en cours, mais elles définissent le comportement de l'environnement global du système d'exploitation.
La liste suivante décrit les différents types de variables, dans l'ordre de priorité décroissant :
Dans l'interpréteur de commandes, chaque instance de Cmd.exe hérite de l'environnement de son application Cmd.exe parente. Par conséquent, vous pouvez modifier les variables dans le nouvel environnement Cmd.exe sans que cela n'affecte l'environnement de l'application parente.
Le tableau suivant répertorie les variables d'environnement locales et
système de
Variable | Tapez | Description |
---|---|---|
Locale | Renvoie l'emplacement du profil All Users (Tous les utilisateurs). | |
Locale | Renvoie l'emplacement auquel les application stockent les données par défaut. | |
Locale | Renvoie la chaîne du répertoire en cours. | |
Locale | Renvoie la ligne de commande exacte qui est utilisée pour démarrer le programme Cmd.exe actuel. | |
Système | Renvoie le numéro de version des extensions de l'interpréteur de commandes en cours. | |
Système | Renvoie le nom de l'ordinateur. | |
Système | Renvoie le chemin exact de l'exécutable de l'interpréteur de commandes. | |
Système | Renvoie la date. Utilise le même format que la commande date /t. Générée par Cmd.exe. Pour plus d'informations sur la commande date, consultez Date. | |
Système | Renvoie le code d'erreur de la commande la plus récente utilisée. Une valeur qui n'est pas égale à zéro indique une erreur. | |
Système | Renvoie la lettre du lecteur de la station de travail locale qui est connectée au répertoire de base de l'utilisateur. Définie en fonction de la valeur du répertoire de base. Le répertoire de base de l'utilisateur est spécifié dans le composant Utilisateurs et groupes locaux. | |
Système | Renvoie le chemin d'accès complet du répertoire de base de l'utilisateur. Définie en fonction de la valeur du répertoire de base. Le répertoire de base de l'utilisateur est spécifié dans le composant Utilisateurs et groupes locaux. | |
Système | Renvoie le chemin réseau du répertoire de base partagé de l'utilisateur. Définie en fonction de la valeur du répertoire de base. Le répertoire de base de l'utilisateur est spécifié dans le composant Utilisateurs et groupes locaux. | |
Locale | Renvoie le nom du contrôleur de domaine qui a validé la session d'ouverture de session en cours. | |
Système | Spécifie le nombre de processeurs installés sur l'ordinateur. | |
Système | Renvoie le nom du système d'exploitation. | |
Système | Spécifie le chemin pour la recherche des fichiers exécutables. | |
Système | Renvoie la liste des extensions de fichier que le système d'exploitation considère comme étant exécutables. | |
Système | Renvoie l'architecture du processeur. Les valeurs sont : x86, IA64. | |
Système | Renvoie la description du processeur. | |
Système | Renvoie le numéro du modèle de processeur installé sur l'ordinateur. | |
Système | Renvoie le numéro de révision du processeur. | |
Locale | Renvoie les paramètres de l'invite de commandes de l'interpréteur en cours. Générée par Cmd.exe. | |
Système | Renvoie un nombre décimal compris entre 0 et 32767. Générée par Cmd.exe. | |
Système | Renvoie le lecteur contenant le répertoire racine de
| |
Système | Renvoie l'emplacement du répertoire racine de
| |
Système et utilisateur | Renvoie les répertoires par défaut temporaires utilisés par les applications disponibles pour les utilisateurs qui ont ouvert une session. Certaines applications requièrent TEMP et d'autres TMP. | |
Système | Renvoie l'heure. Utilise le même format que la commande time /t. Générée par Cmd.exe. Pour plus d'informations sur la commande time, consultez Time. | |
Locale | Renvoie le nom du domaine qui contient le compte de l'utilisateur. | |
Locale | Renvoie le nom de l'utilisateur qui a ouvert une session. | |
Locale | Renvoie l'emplacement du profil de l'utilisateur en cours. | |
Système | Renvoie l'emplacement du répertoire du système d'exploitation. |
Utilisez les commandes set pour créer, modifier, supprimer ou afficher des variables d'environnement. La commande set modifie les variables uniquement dans l'environnement de l'interpréteur de commandes en cours.
Pour visualiser une variable, à l'invite de commandes, tapez :
set NomVariable
Pour ajouter une variable, à l'invite de commandes, tapez :
set variablename=valeur
Pour supprimer une variable, à l'invite de commandes, tapez :
set NomVariable=
Vous pouvez utiliser la plupart des caractères en tant que valeurs de variables, y compris les espaces. Si vous utilisez les caractères spéciaux <, >, |, &, ou ^, vous devez les faire précéder d'un caractère d'échappement (^) ou de guillemets. Si vous utilisez les guillemets, ils sont intégrés dans la valeur car tous les éléments qui suivent le signe égal sont considérés comme la valeur. Considérons les exemples suivants :
set varname=new^&name
set varname="new&name"
"'name' n'est pas reconnu comme commande interne ou externe, programme ou fichier de commandes."
Les noms de variables ne respectent pas la casse. Cependant, la commande set affiche la variable telle que vous l'avez tapée. Vous pouvez associer des lettres en majusucles et des lettres en minuscules dans les noms de variables pour que le code soit plus lisible (par exemple NomUtilisateur).
Remarques
Pour autoriser le remplacement des valeurs de variables dans la ligne de
commandes ou dans des scripts, insérez le nom de la variable entre les signes de
pourcentage (