Héritage direct de MS-DOS, le premier système d’exploitation de Microsoft, l’invite de commandes est un outil d’administration permettant la saisie de commandes. Cette invite de commandes permet de réaliser tout un tas d’opération et tout cela en se passant d’interface graphique. L’intérêt de ces commandes, c’est qu’il est possible d’effectuer en série les réglages de l’ordinateur ou de Windows, à l’aide de petits programmes ou scripts que vous pourrez écrire. Traditionnellement utilisée par des utilisateurs avertis, l’invite de commandes n’est pas forcément un outil intuitif, mais vous verrez qu’il répond à une logique précise qu’il est facile d’apprendre. Vous serez alors capable de gérer plus finement vos fichiers, changer des paramètres de sécurité, ou même créer un disque dur virtuel. Avec l’invite de commande vous pourrez également avoir accès à des outils supplémentaires pour la gestion du réseau comme "ping", "tracert"…
Sommaire
- 1 Un peu d’histoire
- 2 L'interface de l'invite de commandes
- 3 Notions de bases
- 4 Vidéo
Cet article est le premier du dossier consacré à l'invite de commandes Windows. Cette première partie a pour objectif de présenter l'interface de l'invite de commandes et les notions de bases qui permettent de l'utiliser aisément.
La seconde partie aura pour sujet de présenter les commandes exécutables usuelles utilisables avec l'invite de commandes.
Enfin, la dernière partie sera consacrée aux scripts de commandes.
Un peu d’histoire
Le passé
Si Windows est connu comme étant le nom d’une famille de systèmes d’exploitation développés par Microsoft, ce n’est pas l’unique système d’exploitation de Microsoft. Dans les années 80 et 90, la firme de Redmond était également connue pour MS-DOS (Microsoft Disk-Operating-System), un système d’exploitation en ligne de commande.
Avec MS-DOS, toutes les opérations s’effectuaient à l’aide de commandes. Vous vouliez démarrer un programme? Alors il fallait naviguer dans l’arborescence de votre disque dur (ou de vos disquettes) à l’aide des commandes "cd" et "dir", puis entrer le nom de l’exécutable du programme. Le cœur de MS-DOS était l'exécutable "command.com" qui contenait toutes les commandes de bases.
En 1985, Microsoft apporte une interface graphique pour MS-DOS : il s'agira de la première version de Windows. Windows restera l'interface graphique de MS-DOS, jusqu’à Windows 3.1. A partir de Windows 95, MS-DOS a progressivement été abandonné. Pour le grand public, c’est Windows XP qui sera le premier Windows n’utilisant plus MS-DOS.
Le présent
Cependant même si MS-DOS n’est plus utilisé de nos jours, il possible de retrouver des éléments directement hérités de MS-DOS, comme la notation des disques durs en utilisant des lettre ("C:", "D:", etc.), et le fait que le disque "C:" soit le disque dur principal.
Cette notation a pour origine les premiers IBM-PC et MS-DOS 1. A l'époque, il n'y avait pas de disque dur; l'ordinateur utilisait un ou deux lecteurs de disquettes. Ces lecteurs avaient pour lettre de lecteur : "A:" et "B:". Comme les ordinateurs ne pouvaient généralement pas accueillir plus de deux lecteurs de disquettes, ces lettres de lecteurs sont réservées pour leurs potentiels usages.
Puis sont apparus les disques durs. La première lettre suivante étant la lettre "C:", c'est ainsi que le premier disque dur obtient sa fameuse lettre "C:".
L’invite de commandes est également un héritage de MS-DOS; mais un héritage qui a évolué. Si MS-DOS a disparu, il persiste cet outil, à l’apparence proche de MS-DOS, qui permet via des commandes le paramétrage et la maintenance de l'ordinateur. L'exécutable de l'invite de commande n'est plus "command.com" mais "cmd.exe".
Le futur
L’invite de commande subsiste encore dans Windows 8 et même dans Windows 8.1. Mais dans ce dernier, on note le début d’une volonté, de la part de Microsoft, de la remplacer par "Windows PowerShell".
L'interface de l'invite de commandes
Comme l'invite de commande représente un héritage de MS-DOS, son interface est similaire à ce qui se faisait dans les années 80. Mais cela ne retire rien à sa puissance. Après tout, à quoi servirait une interface pour automatiser des tâches d'administration du système ? Partant de ce principe, sachez qu'il existe même une édition de Windows Server (le Windows professionnel assurant la gestion des serveurs) nommée "Windows Core Server" qui est dépourvue d'interface graphique et démarrant sur l'invite de commandes.
L'administration système se réalise le plus souvent à l'aide de l'invite de commandes. De façon générale on parle de "console d'administration". C'est également cette approche qui est retenue dans le monde des distributions Linux. Sous Linux (quelle que soit la distribution), l'interface graphique est un élément optionnel et c'est la "console" qui permet le paramétrage de tous les éléments de l'ordinateur. C'est ce qui donne cet aspect "complexe" aux distributions Linux.
Nous allons maintenant découvrir l'invite de commandes pour Windows. Avant cela, il faut la démarrer.
Ouvrir l’invite de commandes
Démarrage classique
La façon la plus simple de démarrer l'invite de commandes est d'écrire "cmd" dans la zone de recherche du menu démarrer (Windows Vista et Windows 7) ou au niveau de l'écran d'accueil (Windows 8 et Windows 8.1).
A partir de l'explorateur Windows
Via la barre d'adresse
Il est également possible de lancer l'invite de commande directement dans un dossier à partir de l'explorateur. Il suffit d'écrire "cmd" dans la barre d'adresse et de valider par la touche Entrée. L'invite de commandes se lance alors et prend comme dossier courant, celui où vous vous trouviez dans l'explorateur.
Toujours dans l'explorateur Windows, en faisant un clic droit sur un dossier, tout en appuyant sur la touche SHIFT du clavier, une nouvelle option apparait dans le menu contextuel : "Ouvrir une fenêtre de commande ici". Cliquez dessus et l'invite de commandes démarrera avec comme dossier courant, celui sur lequel vous aviez cliqué.
Menu Windows + X [Windows 8 et plus]
Avec Windows 8, vous pouvez accéder encore plus rapidement à l'invite de commande. Utilisez le raccourci Touche Windows + X pour faire apparaitre un menu dans le coin inférieur gauche. Ce menu comprend un raccourci vers l'invite de commande.
Ce menu est également accessible avec un clic droit au niveau du coin inférieur droit de l'écran.
Le futur de l'invite de commandes sera Windows PowerShell et Windows 8.1 commence déjà à doucement introduire ce nouvel outil. Aussi il se peut que dans le menu Windows + X vous ne trouviez pas les deux raccourcis pour l'invite de commandes, mais des raccourcis équivalent pour démarrer Windows PowerShell.
Si vous n'utilisez pas Windows PowerShell, vous pouvez restaurer les raccourcis vers l'invite de commandes. Pour cela, faites un clic droit sur la barre des tâches, puis cliquez sur "Propriétés". La fenêtre des propriétés de la barre des tâches s'ouvre. Rendez-vous dans l'onglet "Navigation", et décochez la case "Remplacez Invite de commandes par Windows PowerShell...". Validez avec "OK".
Vous deviez maintenant avoir les deux raccourcis vers l'invites de commandes dans le menu Windows + X.
Utilisateurs et administrateurs
L'invite de commandes Windows est un outil très puissant et l'utilisation de certaines commandes peut parfois avoir des conséquences désastreuses sur l'ordinateur. Par conséquent, il est potentiellement dangereux de laisser les utilisateurs standards avoir accès aux commandes susceptibles de causer des problèmes. C'est pourquoi l'invite de commandes utilise les niveaux de privilège implémentés dans Windows à partir de Windows Vista.
On trouve donc l'invite de commande en mode utilisateur et l'invite de commande en mode administrateur.
Présentation de l’invite
L'interface de l'invite de commande est très rudimentaire. Les personnes utilisant la console ou le terminal sous linux ne devraient pas se sentir trop à l'étroit, puisque d'apparence terminal et invite de commandes se ressemblent.
Une fois lancé l'invite de commandes ("cmd"), une fenêtre avec un fond noir apparaît avec quelques lignes :
Les 2 premières lignes donnent des informations sur la version de votre Windows. La 3ème ligne (avec le petit trait qui clignote) est ce que l'on appelle "l'invite de commandes". Ce nom vient tout simplement du fait que le curseur qui clignote et le chevron fermant (ce symbole : ">" ) invitent l'utilisateur à entrer des commandes.
Chaque Windows, depuis le premier Windows, possède un numéro de version. Si pour les première versions de Windows, ce numéro permettait de donner un nom (Windows 2.0, Windows 3.1 ...), depuis Windows 95, Microsoft a changé la façon de nommer ces systèmes d'exploitation. Mais le numéro de version existe toujours. Ainsi on a les correspondances suivantes (pour les Windows grand public) :
-
Windows 95 : Windows version 4.0
- Windows 98 : Windows version 4.1
- Windows XP : Windows version 5.1
- Windows Vista : Windows version 6.0
- Windows 7 : Windows version 6.1
- Windows 8 : Windows version 6.2
- Windows 8.1 : Windows version 6.3
Ces numéros de version correspondent à la version de noyau de Windows. Le chiffre avant la virgule pour une version majeure et celui après la virgule indique une version mineure.
Avant le chevron fermant est écrit un chemin absolu de dossier. Si l'invite de commande est lancée en mode utilisateur, ce chemin est celui vers le dossier de votre compte utilisateur. On peut décomposer ce chemin ainsi :
Personnaliser l'invite de commande
Comme durant tout cet article, nous allons travailler sur l'invite de commande autant rendre son interface un tout petit plus agréable et pratique.
Activer le mode édition
Il est intéressant de copier du texte visible dans l'invite de commandes dans certaines situations. Cela est possible à l'aide d'une manipulation qui n'a rien de pratique, là où dans le terminal Linux, une simple sélection avec la souris, puis un clic droit permet de copier le texte.
Heureusement, il est possible d'en faire autant avec l'invite de commande. Pour cela, faites un clic droit sur la barre des titres (la barre supérieure de la fenêtre), puis sélectionnez le sous-menu "Propriétés". Dans l'onglet "Options" et la partie "Options d'édition", cochez les 2 cases "Mode d'édition rapide" et "Mode d'insertion". Validez avec le bouton "OK".
Voilà qui devrait être bien plus pratique pour la suite de cet article.
Changer les couleurs
Le noir, c'est un peu tristounet. Enfin, même si ça a un coté "NostalGeek", il est possible de mettre un peu de gaité dans tout ça. Mais "un peu", pas énormément :).
Retournez dans la partie "Propriétés" de l'invite de commandes, puis dans l'onglet "Couleurs". Vous aurez ici la possibilité de changer la couleur de fond, la couleur du texte et les mêmes lorsqu'il y a sélection. Un petit clin d'œil à MS-DOS : par défaut il n'y a que 16 couleurs disponibles, comme à l'époque.
Notions de bases
La syntaxe des commandes
Maintenant que l'invite est lancée et personnalisée, il va falloir écrire des commandes ! Les commandes sont de petits bouts de texte, qui vont être interprétées afin de réaliser diverses actions. Il existe énormément de commandes inclues dans "cmd.exe". A ces dernières s'ajoutent des fichiers exécutables ou des scripts de commandes étoffant la palette des possibilités.
Premier exemple : à l'invite de commandes, écrivez la commande "dir". Cette commande permet de lister les éléments du dossier courant (par défaut). Validez avec la touche entrée pour l'exécuter.
Le résultat s'affiche dans l'invite de commandes. Ici, on a écrit une commande sans paramètre.
Un paramètre, c'est comme une option. Souvent il sert à apporter une précision sur la commande. La commande "dir" n'affiche ici que le dossier courant, mais on peut vouloir afficher les éléments d'un autre dossier et/ou d'afficher les éléments sur plusieurs écrans, en colonnes... Tout cela peut être demandé à la commande "dir" en utilisant des paramètres.
Essayez donc la même commande, mais avec des paramètres :
dir c:\windows /w /p
On a demandé ici :
-
dir : c'est la commande qui liste les éléments d'un dossier,
- c:\windows : le chemin du dossier dont on veut afficher les éléments,
- /w : paramètre pour demander un affichage par colonnes des fichiers (au lieu qu'ils soient affichés sur une seule colonne),
- /p : paramètre pour afficher les éléments sur plusieurs écrans. Il faut appuyer sur une touche pour passer à l'écran suivant.
Les commandes peuvent donc avoir plusieurs paramètres. Ils sont optionnels ou pas. Ainsi, les commandes peuvent se définir par leurs raccourcis (dans notre exemple précédent "dir") et les paramètres qu'elles peuvent accepter.
D'une manière générale, une commande aura donc la syntaxe suivante :
COMMANDE paramètre1 paramètre2 [paramètre3] paramètreN
Les paramètres peuvent être optionnels : leur absence n'empêche pas l'exécution de la commande. Dans la syntaxe d'une commande, les paramètres optionnels seront mis entre crochets. Ils peuvent aussi être obligatoires et dans ce cas, ils sont nécessaires à l'exécution de la commande.
La commande "dir" a beaucoup de paramètres, tous optionnels. En voici quelques un :
DIR [lecteur:][chemin][nom_de_fichier_] [/A[[:]attributs]] [/D] [/L]
Pour obtenir la liste complète des paramètres d'une commande, il suffit la plupart du temps d'écrire :
commande /?
Par exemple :
dir /?
Chemin relatif et chemin absolu
Chaque fichier est caractérisé par son chemin. On distingue deux types de chemins, qui représentent en réalité la même idée, mais différente selon la référence qui est utilisée.
Le chemin absolu
Le chemin absolu d'un fichier, c'est son adresse par rapport à la racine du disque dur. Avec le chemin absolu, on doit pouvoir retrouver un fichier ou un dossier en commençant à partir de la racine du disque. Les programmes doivent également pouvoir en faire autant.
Exemple :
Prenons l'exemple d'un fichier pdf placé sur votre Bureau; le fichier se nomme : "monFichier.pdf". Le bureau est situé dans le dossier de votre profil utilisateur (ici c'est moi, donc dossier Aryx), et ce dernier dossier est est enregistrée dans le disque "C:".
Ainsi, le chemin absolu vers monFichier.pdf sera le suivant :
c:\users\Aryx\desktop\monFichier.pdf
Avec ce chemin, en partant de la racine du disque "C:", on ira d'abord dans le dossier "users", puis dans le dossier Aryx (votre nom de session), et enfin dans "desktop" (bureau en français). Arrivé dans le bureau, on trouvera le fichier "monFichier.pdf".
Si vous remarquez, dans le chemin absolu du fichier se trouve un dossier "users" et un dossier "desktop". Or, en vous rendant dans l'explorateur Windows, vous ne retrouvez pas ces dossiers. A la place, il y a un dossier "utilisateurs" et "bureau". Windows aurait-il tout simplement traduit les noms de ces dossiers ?
Oui, c'est bien le cas. Les Windows modernes (depuis Windows Vista) affichent les dossiers dans des versions francisées. Mais ce n'est qu'une apparence, et pas un nom différent. Une instruction est prévue dans Windows pour dire vous faire voir "utilisateurs" au lieu de "users". Le vrai dossier reste "users". Vous pouvez vous en rendre compte lorsque vous entrez "c:\Utilisateurs". Vous arriverez dans le dossier utilisateurs "users".
A retenir donc : le chemin absolu d'un fichier, c'est le chemin d'un fichier depuis la racine du disque.
Le chemin relatif
A l'inverse du chemin absolu, le chemin relatif est le chemin ou l'adresse d'un fichier depuis le dossier courant. On a vu que l'invite de commande affichait le dossier courant à gauche de la zone de saisie des commandes. On peut définir une adresse vers un fichier à partir du dossier courant.
Reprenons l'exemple plus haut avec le fichier "monFichier.pdf" situé sur le bureau :
Pour rappel, son chemin absolu est :
c:\users\Aryx\desktop\monFichier.pdf
Lorsqu'on se trouve sur le bureau (dossier "desktop"), "monFichier.pdf" est dans ce dernier. Son chemin relatif est alors :
.\monFichier.pdf
Le point "." précise que l'on utilise le dossier courant.
Sous Windows, ce chemin peut-être simplifié en omettant le point et l'antislash qui précède le nom du fichier. Ce qui donne :
monFichier.pdf
Deuxième exemple, depuis un dossier parent :
Maintenant, si le dossier courant est "Aryx". Le chemin relatif du fichier pdf va devoir prendre un compte le bureau ("desktop"). On aura alors le chemin relatif suivant pour "monFichier.pdf" :
.\desktop\monFichier.pdf
Que l'on pourra abréger en :
desktop\monFichier.pdf
Le chemin précédant est relatif au dossier "Aryx" (et non pas de la racine du disque comme avec le chemin absolu).
Troisième exemple, depuis un dossier fils (direct) :
Pour illustrer cet exemple, le dossier courant sera un dossier placé sur le bureau et nommé "monDossier". Ce dossier aurait donc comme chemin absolu :
c:\users\monNomDutilisateur\desktop\monDossier\
Par rapport au dossier "monDossier", le fichier "monFichier.pdf" est placé dans le dossier parent (le dossier "desktop"). On utilise deux point (..) pour faire référence à un dossier parent. Tous les dossiers ont un dossier père. Seule la racine du disque n'en a pas.
Pour utiliser "monFichier.pdf" depuis le dossier "monDossier", il faudra écrire le chemin relatif suivant :
..\monFichier.pdf
Si on avait un sous-dossier dans le dossier "monDossier" et que le dossier courant serait ce sous-dossier, alors on aurait écrit :
..\..\monFichier.pdf
Les premiers ".." permettent de pointer vers "monDossier", les seconds ".." vers le parent de "monDossier", donc vers le dossier "desktop".
A retenir : Le chemin relatif d'un fichier est le chemin vers ce fichier depuis le dossier courant.
Parcourir les dossiers avec l'invite de commandes : CD et DIR
Les chemins des fichiers et des dossiers sont des éléments issus de l'arborescence des fichiers. L'arborescence permet de classer et d'ordonner les fichiers et les dossiers.
Ainsi, comme on l'a vu, on a des éléments pères et des éléments fils. Tout cela dépend du dossier courant, ou de la racine du disque (pour les chemins absolus). Pour changer de dossier courant on utilise la commande "cd" ou "CD" pour "Change Directory". Voici sa syntaxe :
CD [/D] [lecteur:][chemin]
La syntaxe complète sera détaillée plus tard mais voyons son utilisation pour se déplacer au sein de l'arborescence. Pour comprendre le fonctionnement du changement de dossier courant, nous allons reprendre l'exemple précédent. Ainsi, pour commencer, le chemin absolu du dossier courant sera :
c:\users\monNomDutilisateur\desktop
Pour se rendre dans un dossier fils :
Pour se rendre dans le dossier fils nommée "monDossier", c'est-à-dire un sous dossier du dossier courant (dossier "desktop"), il suffit d'écrire la commande suivante :
cd monDossier
Le dossier courant change alors et devient :
c:\users\monNomDutilisateur\desktop\monDossier
Comme paramètre de la commande "cd", nous avons écrit le chemin relatif du dossier dans lequel nous voulions nous rendre. Comme il s'agissait d'un sous-dossier, il a juste suffit d'entrer son nom, comme cela est expliqué plus haut avec les chemins relatifs.
La commande "cd" accepte les chemins relatifs, mais également les chemins absolus. Ainsi, on aurait également pu écrire la commande suivante pour se rendre dans le dossier "monDossier" :
cd c:\users\monNomDutilisateur\desktop\monDossier
Pour se rendre dans un dossier parent :
En utilisant la même logique que précédemment, si on utilise le chemin absolu du dossier parent, il suffirait d'entrer la commande suivante :
cd c:\users\monNomDutilisateur\desktop
Avec l'utilisation des chemins relatifs, c'est encore plus simple. Voici la commande à écrire pour retourner dans le dossier "desktop" en se trouvant dans le dossier "monDossier" :
cd ..
Comme on cela est écrit plus haut, les ".." indique le dossier parent.
Pour se rendre à la racine du disque
Il existe une syntaxe spéciale pour se rendre directement à la racine du disque. Qu'importe votre dossier courant, si vous voulez retourner à la racine du disque, il suffira d'écrire la commande suivante :
cd /.
ou
cd \.
A retenir : pour accéder à un sous-dossier, il suffit d'écrire "cd monSousDossier" (en remplaçant "monSousDossier" par le nom du dossier). Pour revenir au dossier parent il faudra utiliser la commande "cd ..". Et pour lister le dossier courant, écrivez juste la commande "dir" sans paramètre.
La casse d'un mot, c'est l'utilisation des majuscules et des minuscules. La casse du mot suivant : WolfAryx est différente de celui-ci : wolfaryx.
Contrairement au monde Linux, dans Windows, et à fortiori au niveau de l'invite de commandes, la casse des commandes, des paramètres et des chemins n'a pas d'importance. Ainsi, les commandes suivantes effectueront les mêmes actions.
CD Windows
Et,
cd windows