La ligne de commandes Windows NT mars 2008 ANDRIAMIHARINSTOA Tolotra Nirina EDOUARD Jessee Michaël Christian www.aurora-x.site.tc
La ligne de commandes Windows NT Introduction Notion de shell Comme nous l avons déjà mentionné auparavant système d exploitation est la couche logicielle qui gère le matériel et qui sert d interface entre ce dernier et l utilisateur. Un système d exploitation est toujours composé d un noyau (ou kernel) : le système d exploitation proprement dit, et d au moins un programme (qui tourne sur le système) chargé de servir lui à son tour d interface entre le noyau et l utilisateur. Un tel programme et appelé un shell (coquille). Un shell peut être de type graphique (souris, boutons, icones, menus, etc.) ou être de type conversationnel (ou mode texte) dans lequel la communication entre l OS et l utilisateur se fait par l intermédiaire du clavier pour les entrées et d une console (cette fenêtre toute noire avec laquelle il faut toujours taper au clavier chaque fois que l on veut faire un truc!) pour la sortie. Windows XP est fourni avec 2 shells, l un graphique et l autre en mode texte à savoir : explorer.exe et cmd.exe (command.com dans les versions antérieures de Windows), Windows Vista (nom de code : Longhorn) étant également accompagné d un nouveau shell (mode texte), PowerShell. Nul doute cependant que toute personne sachant se servir d une souris peut se débrouiller plus ou moins facilement avec le shell graphique. Ici nous allons donc nous focaliser surtout sur la ligne de commandes. Ouvrir l invite de commandes L invite de commandes est un environnement dans lequel l utilisateur peut entrer des commandes que le système va donc exécuter. Pour ouvrir l invite de commandes : dans la boîte de dialogue Exécuter (Démarrer > Exécuter ), tapez cmd puis validez par ENTREE. Les commandes Windows Généralités Lorsque vous ouvrez l invite de commandes, un message d attente s affiche, un truc du genre : C:\Documents and Settings\user> Cela signifie que vous vous trouvez actuellement dans le répertoire C:\Documents and Settings\user autrement dit le répertoire user du répertoire Documents and Settings du lecteur C :. Pragmatiques que nous sommes, nous-nous soucions peu (pour l instant) de savoir pourquoi nous sommes là, tout ce que nous savons c est que nous sommes là. Maintenant, pour afficher le contenu du dossier par exemple, il suffit de taper la commande dir puis de valider avec la touche Entrée. Et c est tout, nous savons donc à présent ce que c est qu une commande, et comment exécuter une commande, poursuivons. 1
Obtenir de l aide La commande help affiche toutes les commandes Windows existantes. Elle peut également s utiliser de la manière suivante : help dir par exemple, pour obtenir de l aide sur la commande dir. Sinon, l aide de Windows fournit également toute une mine d informations concernant de la ligne de commande. Un très bon CHM (complet) se trouve également dans le répertoire C:\WINDOWS\Help, ntcmds.chm. Lister le contenu d un répertoire Nous avons déjà eu l occasion d utiliser la commande dir pour liste le contenu d un répertoire. En effet dir tout court affiche le contenu du répertoire courant, c'est-à-dire le répertoire dans lequel on se trouve actuellement. Cependant, dir peut être également utilisé de la manière suivante : dir A /* affiche le contenu du répertoire A qui se trouve dans le répertoire courant */ dir C:\ABC /* affiche le contenu du répertoire C:\ABC */ dir C:\ /* affiche le contenu du lecteur C : */ Changer de répertoire La commande cd ou chdir permet de changer de répertoire. Pour aller dans un répertoire A par exemple, il suffit d entrer la commande : cd A Pour changer de lecteur, tapez tout simplement la lettre du lecteur suivi des deux points. Pour revenir à la racine du lecteur courant, tapez : cd \ En effet, \ tout court représente la racine du lecteur courant c est-à-dire le lecteur dans lequel on se trouve. Pour aller dans le répertoire parent (c est-à-dire le répertoire qui contient le répertoire courant), tapez : cd.. En fait,. et.. sont des répertoires spéciaux, présents dans chaque répertoire et désignent respectivement le répertoire courant et le répertoire parent. Pour changer de lecteur (c est-à-dire changer le lecteur courant), il suffi de taper la lettre du lecteur suivi de : (deux points). 2
Quelques commandes utiles N hésitez pas à consulter l aide pour plus d informations help dir cd ou chdir (Change Directory) md ou mkdir (Make Directory) del ou erase rd ou rmdir (Remove Directory) copy xcopy move ren ou rename affiche l aide affiche le contenu d un répertoire changer de répertoire crée un répertoire supprime un fichier supprime un répertoire copie un ou plusieurs fichiers copie des fichiers et des arborescences de répertoires déplace un ou plusieurs fichiers renomme un fichier Exemples : copy C:\x.mp3 D:\y.mp3 /* copie le fichier x.mp3 dans C:\ vers D:\ sous le nom y.mp3 */ rename a.doc b.doc /* renomme a.doc en b.doc */ erase *.jpg /* supprime tous les fichiers JPG */ rd A /* supprime le répertoire A */ Les arguments Les exemples précédents nous conduisent à une notion très importante de la ligne de commandes, les arguments. Prenons par exemple les commandes suivantes : et dir erase a.jpg copy C:\x.mp3 D:\y.mp3 La première ne possède aucun argument. La deuxième en possède un (a.jpg) et enfin la troisième deux (C:\x.mp3 et D:\y.mp3). Dans ce dernier cas, C:\x.mp3 est le premier argument passé à copy, D:\y.mp3 le deuxième et sont respectivement désignés par le shell par %1 et %2. Et bien sur, les arguments peuvent s utiliser avec les programmes aussi, ainsi la commande : notepad.exe C:\a.txt ouvre le fichier C:\a.txt avec le Bloc-notes (notepad.exe). En fait, on aurait pu simplement tapé notepad au lieu de notepad.exe car le système reconnaît toujours les fichiers.com,.exe et.bat. Les variables d environnement Une variable d'environnement est une chaîne qui contient des informations, par exemple un chemin, un nom de fichier ou une chaîne quelconque. Ainsi la variable userprofile désigne le répertoire du profil utilisateur courant (normalement C:\Documents and Settings\<nom de 3
l utilisateur>), windir le dossier d installation du système (C:\WINDOWS), username le nom de l utilisateur courant, userdomain le nom de l ordinateur, etc. Windows distingue les variables d environnement systèmes qui sont valables pour tout le système et que seul un administrateur peut éditer des variables d environnement utilisateur qui sont propres à l utilisateur. On peut éditer (ajouter, modifier ou supprimer) des variables d environnements en allant dans Panneau de Configuration, Système, Avancé, Variables d environnements. En ligne de commandes, on obtient la liste de toutes les variables d environnements en tapant la commande set. set permet également de définir de nouvelles variables comme le montre l exemple suivant : set rep=c:\reps\monrep Et maintenant si nous tapons cd %rep% nous-nous retrouvons comme nous aurions pu nous attendre dans le dossier C:\Reps\MonRep. Ou, si nous voulons juste afficher la valeur de la variable, taper : echo %rep% Ce qui affichera : C:\Reps\MonRep. La commande echo permet bien sûr d afficher aussi bien une chaîne brute comme bonjour qu une variable quelconque telle que %username% ou %userdomain% (nom de l ordinateur). Ainsi la commande : echo bonjour affiche bonjour. Cas particulier, dans un batch (voir plus bas) : echo on/off active/désactive l affichage des commandes. La variable path Je vais vous poser une petite question : si vous-vous trouvez disons dans le répertoire C:\Rep1, et que vous voulez exécuter le fichier a.exe se trouvant dans le répertoire C:\Rep2 en tapant simplement a puis en validant par la touche Entrée, le fichier s exécutera t-il? Et je vais moi-même répondre à la question : non. En effet comment d après vous le système aurait-il pu deviner que le fichier a.exe se trouve dans le répertoire Rep2? Par contre si le fichier se trouvait dans Rep1 (ou si vous-vous trouviez dans Rep2 ), il n y aurait aucun problème. Or, où que vous soyez, tapez un peu notepad puis validez et vous verrez que le Bloc-notes (notepad.exe), qui se trouve pourtant dans le répertoire C:\WINDOWS (ou de manière plus rigoureuse, dans %windir%), sera bel et bien exécuté! Pourquoi? Eh bien parce que C:\WINDOWS est un répertoire que Windows connaît comme sa poche! La liste de tous les répertoires que Windows tient en connaissance est stockée dans une variable d environnement appelée PATH. Les différents répertoires qui constituent le PATH sont séparés par un point-virgule. La commande path utilisée sans arguments affiche le PATH courant. Elle est donc équivalente à echo %path%. Utilisée avec des arguments, elle permet de modifier la valeur de la variable. Par exemple : path %path%;c:\rep1 4
Ajoute le répertoire C:\Rep1 à la variable. Les fichiers batch Les fichiers batch, appelés également fichiers de commandes ou fichiers de traitement par lots, sont des fichiers texte dans lequel on enregistre une série de commandes dans le but d automatiser certaines tâches quotidiennes et/ou répétitives. Ces fichiers portent l extension.bat. Voyons donc un exemple de fichier batch : copy *.doc C:\Word copy *.mp3 C:\MP3 copy *.jpg C:\Photos Terminez chaque commande par Entrée. Nommons le fichier copie.bat. Si on exécute ce fichier, tous les fichiers doc du dossier courant seront copiés vers le dossier C:\Word, tous les mp3 vers C:\MP3 et tous les fichiers jpg vers C:\Photos. A l instar des fichiers exe, l extension bat peut être omise lorsqu on veut exécuter un tel fichier. Il est coutume de commencer un fichier batch par la commande echo off et de terminer par echo on. Cependant, avec cette méthode la commande echo off est quand même affichée or nous on ne veut rien afficher du tout. On écrira donc plutôt @echo off pour que cette commande ne soit pas affichée à l écran. Voici un batch qui déplace le fichier fourni en paramètre vers le repertoire C:\EN4. @echo off echo Transfert du fichier %1 vers C:\Nouveaux move %1 C:\EN4 echo OK echo on Nommons le mv.bat. La commande mv C:\notes.txt Déplace alors le fichier C:\notes.txt vers le répertoire C:\EN4. 5