La ligne de commande Windows et les fichiers batch
Date de publication : 6 avril 2009
XXX. Astuces pour l'utilisation de l'invite de commande Windows
XXX-A. Comment afficher une ligne vide dans un fichier batch
XXX-B. Forcer "echo" à ne pas parcourir les arguments
XXX-C. Vérifier si un fichier existe
XXX-D. L'utile périphérique "nul"
XXX-E. Arrêter une commande en cours d'exécution
XXX-F. Mettre en pause le défilement de l'écran
XXX-G. Utiliser le glisser-déplacer
XXX-H. Remonter au répertoire parent
XXX-I. Comment changer le répertoire de travail courant vers un répertoire d'un autre disque
XXX-J. Attention aux espaces dans les noms des fichiers et des dossiers
XXX-K. Traitement spécial des variables pour l'instruction "for" dans les fichiers batch
XXX-L. Variables sensibles à la casse dans les instructions "for"
XXX-M. Mettre un raccourci vers une ligne de commande dans le Menu Démarrer
XXX-N. Créer un raccourci vers une commande
XXX-O. Ouvrir l'explorateur Windows à partir de la ligne de commande
XXX-P.
Utilisation de la commande "Start"
XXX-Q. Utilisez la complétion de nom de fichier et de nom de dossier
XXX-R. Activer le mode d'édition rapide pour la fenêtre de commande
XXX-S. Afficher l'historique des commandes
XXX-T. Utiliser la commande "sleep" dans les fichiers batch sous Windows XP.
XXX-U. Copier du texte à partir de la fenêtre de commande
XXX-V. Astuces pour la console de commande de Vista
XXX. Astuces pour l'utilisation de l'invite de commande Windows
Ce chapitre va vous présenter quelques trucs et astuces utiles dans l'utilisation de la console de commandes Windows.
Il existe certaines astuces dont les livres sur l'invite de commande ne parlent pas. Ou, s'ils le font, la description est enterrée dans un paragraphe discret. Les utilisateurs expérimentés de la ligne de commande connaissent ces astuces. Cependant, la plupart des utilisateurs lambda ne les connaissent pas et je vais donc donner ici quelques "trucs" utiles pour eux. D'après ce que je sais, les astuces que je vais donner fonctionnent dans Windows XP et Windows Vista (sauf les cas indiqués). Ces astuces peuvent ne pas fonctionner pour des versions antérieures de Windows. Les astuces spécifiques à Vista sont données
sur une autre page.
XXX-A. Comment afficher une ligne vide dans un fichier batch
Parfois, vous souhaitez afficher dans la console une ou deux lignes blanches. Il n'est pas évident de savoir comment faire... Entrer simplement la commande "echo" ne fonctionnera pas parce qu'elle va afficher le statut actuel de echo. L'astuce est d'entrer
Notez que "echo" est suivie d'un point sans espace entre echo et le point.
XXX-B. Forcer "echo" à ne pas parcourir les arguments
L'astuce précédente est un cas particulier d'un mode d'utilisation plus général de la commande "echo". Bien que la commande est utilisée pour afficher du texte ou des messages, elle peut aussi prendre des arguments tels que "on" ou "off". Si vous tapez
vous n'allez pas afficher la chaîne "off" mais configurer la commande "echo" elle-même. Pour afficher la chaîne "off", vous devez utiliser
En d'autres termes, placer un point à la fin de "echo" force la commande à afficher ce qu'il y a sur la suite de la ligne, sans vérifier si la chaîne est un cas particulier.
XXX-C. Vérifier si un fichier existe
Une variante spéciale de
l'instruction "if" peut être utilisée pour savoir si un fichier existe déjà. L'instruction à utiliser est :
if exist unFichier uneCommande
|
L'instruction peut également tester l'absence d'un fichier :
if not exist unFichier uneCommande
|
XXX-D. L'utile périphérique "nul"
Le périphérique invisible appelé "nul" peut être utilisé de plusieurs manières. (il est parfois appelé "trou noir"). Tout ce qui y est envoyé disparait. Il peut être utilisé dans les instructions quand vous ne voulez pas que leurs sorties soient affichées. Par exemple, la commande
va exécuter "uneCommande" mais toute la sortie de la commande sera envoyée aux oubliettes. Vous souhaitez parfois, dans un fichier batch, qu'aucun message d'erreur éventuel ne s'affiche. Ceci est obtenu en utilisant
Nul peut également être appliqué à une commande qui fonctionne normalement sur les fichiers pour lui faire utiliser un répertoire à la place. Par exemple, il est parfois utile de tester si un répertoire existe. L'instruction
if exist unFichier uneCommande
|
va vérifier l'existence d'un fichier mais ne fonctionnera pas pour un répertoire. Heureusement, tous les répertoires contiennent le périphérique "nul", ainsi, vous pouvez utiliser le code suivant pour tester si un répertoire existe déjà :
if exist unRepertoire\nul
|
XXX-E. Arrêter une commande en cours d'exécution
Parfois, vous démarrez une commande et vous vous apercevez qu'elle vous renvoie de grandes quantités d'information sur l'écran. La plupart du temps, vous pouvez terminer la commande en pressant simultanément les touches "Ctrl" et "C".
XXX-F. Mettre en pause le défilement de l'écran
Si vous utilisez une commande qui renvoie beaucoup de données en sortie, vous pouvez mettre en pause le défilement afin de pouvoir lire ce qui est écrit à l'écran. Pour cela, utilisez la combinaison de touches "Ctrl+S" Pour continuer le défilement, appuyez à nouveau sur "Ctrl+S".
XXX-G. Utiliser le glisser-déplacer
Le fait de devoir taper le chemin complet vers un fichier est une source d'erreur. La plupart des gens ne savent pas qu'il est possible de faire glisser un fichier à partir de l'explorateur Windows vers la console pour que le chemin complet du fichier apparaisse. Cela permet d'économiser du temps de frappe. (Ne fonctionne pas dans Vista)
XXX-H. Remonter au répertoire parent
Les utilisateurs d'Unix connaissent cette syntaxe mais certains utilisateurs de Windows ne la connaissent pas. Pour remonter au répertoire parent du répertoire actuel, entrez
Vous pouvez répéter cette commande pour remonter les niveaux jusqu'à la racine du disque. Vous pouvez également entrer deux points ".." dans la fenêtre Démarrer->Exécuter cela ouvrira le répertoire parent du répertoire de travail par défaut (il s'agit en général de %USERPROFILE%).
XXX-I. Comment changer le répertoire de travail courant vers un répertoire d'un autre disque
Si vous voulez changer le répertoire de travail d'une fenêtre d'invite de commande vers un dossier situé sur un autre disque, la commande "cd" ne fonctionnera pas. Vous devez d'abord entrer la lettre du lecteur suivie de deux-points (:) puis utiliser la commande "cd" suivie du chemin. Cependant, vous pouvez utiliser le commutateur /d pour changer le répertoire courant :
Vous pouvez également effectuer le changement avec une seule commande si vous utilisez "pushd" à la place de "cd" :
XXX-J. Attention aux espaces dans les noms des fichiers et des dossiers
L'invite de commande ne reconnaît pas les espaces dans les chemins. Tous les chemins comportant des espaces doivent être entourés de guillemets ("). Ce problème revient souvent dans les scripts lorsque certaines variables d'environnement ou des arguments d'entrée sont utilisés. Par mesure de précaution, les variables qui contiennent des noms de fichiers ou de dossiers doivent être placées entre guillemets.
XXX-K. Traitement spécial des variables pour l'instruction "for" dans les fichiers batch
L'instruction "for" est souvent utile car elle fournit un moyen puissant d'effectuer des itérations. Cette commande a la particularité de nécessiter l'utilisation de doubles signes pourcent pour les itérations dans les fichiers batch. En d'autres termes, la syntaxe dans un fichier batch est :
for %%v ariable In set Do commande
|
Si une boucle "for" est exécutée directement depuis l'invite de commande, seul un signe pourcent est utilisé. La syntaxe est alors :
for % variable In set Do commande
|
XXX-L. Variables sensibles à la casse dans les instructions "for"
Contrairement aux systèmes Unix, Windows n'est généralement pas sensible à la casse, cependant, les variables utilisées dans les instructions "for" sont sensibles à la casse. Donc une variable %A est différente de %a.
XXX-M. Mettre un raccourci vers une ligne de commande dans le Menu Démarrer
Si vous utilisez fréquemment l'invite de commandes, vous pouvez créer un raccourci facilement accessible. Ouvrez Démarrer-->Tous les programmes-->Accessoires et faites un clic-droit sur "Invite de commandes". Choisissez "Ajouter au menu Démarrer" dans le menu contextuel. Vous pouvez aussi aller dans \WINDOWS\system32 et effectuer un clic droit sur le fichier de l'interpréteur de commande cmd.exe et choisissez "Ajouter au menu Démarrer" dans le menu contextuel.
XXX-N. Créer un raccourci vers une commande
Si vous utilisez fréquemment une commande, vous pouvez créer un raccourci vers celle-ci. L'astuce est d'utiliser le commutateur /k pour que l'invite de commande reste ouvert. La commande pour le raccourci est :
(Vous trouverez plus de détails sur la façon de créer un raccourci
sur cette page).
XXX-O. Ouvrir l'explorateur Windows à partir de la ligne de commande
Pour ouvrir l'explorateur Windows sur le répertoire courant de l'invite de commande, utilisez la commande
Pour ouvrir le répertoire parent, utilisez la commande
XXX-P.
Utilisation de la commande "Start"
L'astuce précédente est un exemple d'utilisation de la commande "start" utilisée pour appeler une action, un dossier système ou une URL. Par exemple, vous pouvez taper "cookies" dans "Démarrer->Exécuter" pour ouvrir le répertoire système contenant les cookies (fonctionne dans Windows XP mais pas dans Vista). Toutefois, dans l'invite de commande, vous devez entrer
Dans Vista, la commande doit être modifiée avec la
commande Shell et sera donc :
De même, vous pouvez ouvrir un programme tel que Microsoft Word avec la commande
Vous pouvez également ouvrir une page Web dans internet Explorer en utilisant une commande du type
XXX-Q. Utilisez la complétion de nom de fichier et de nom de dossier
La fonction d'auto-complétion des noms et des chemins vous économisera de la frappe. Cette fonctionnalité utilise la touche Tab pour compléter automatiquement le nom de fichier que vous avez commencé à taper. Par exemple, tapez "a" (sans guillemets) dans l'invite de commande et tapez sur la touche Tab. Windows va alors compléter votre saisie avec le nom d'un fichier ou d'un dossier existant commençant par "a", en le sélectionnant par ordre alphabétique. Appuyez sur la touche Tab à nouveau pour afficher le nom de fichier ou de dossier suivant (commençant par "a"). De cette façon, vous pouvez boucler sur tous les fichiers et dossiers existant dans le chemin courant qui commence avec un caractère particulier ou un groupe de caractères. La combinaison de touches Shift+Tab permet de parcourir la liste dans l'ordre inverse. La fonction de complétion peut être utilisée à n'importe quel endroit d'une commande.
XXX-R. Activer le mode d'édition rapide pour la fenêtre de commande
Il est pratique d'effectuer du copier-coller à partir de la fenêtre d'invite, mais cette fonctionnalité n'est pas activée par défaut. J'utilise cette fonction fréquemment et je vous suggère de l'activer pour toutes vos fenêtres d'invite de commande. Vous trouverez plus de détail sur l'activation de l'édition rapide
sur une autre page. Une fois que l'édition rapide est activée, le contenu du presse-papier peut être collé dans l'invite de commande en effectuant un clic-droit sur la fenêtre de commande.
XXX-S. Afficher l'historique des commandes
Le réglage par défaut de la
configuration de la fenêtre de commande inclus la possibilité de mémoriser jusqu'à 50 commandes tapées. L'historique des commandes peut être affiché en appuyant sur la touche "F7".
XXX-T. Utiliser la commande "sleep" dans les fichiers batch sous Windows XP.
Parfois, il est pratique d'attendre un certain temps dans un fichier batch entre deux commandes. Si vous téléchargez les outils gratuits Windows Server 2003 (
décrits sur une autre page), vous trouverez l'outil
sleep.exe qui fournit un moyen d'attendre un certain temps dans un fichier batch. Pour un intervalle de
n secondes, la commande est :
XXX-U. Copier du texte à partir de la fenêtre de commande
A l'époque de DOS, il n'était pas rare d'entrer du texte directement de l'invite de commande dans un fichier avec la commande "copy". C'est moins utilisé dans Windows mais il est toujours possible de le faire. La sortie de la fenêtre de commande ou de la console est appelée CON. (non sensible à la casse). Pour copier du texte depuis l'invite de commande vers un fichier "untexte.txt", la séquence d'instruction sera :
copy con untexte.txt
Première ligne du fichier souhaité
encore un peu de texte...
^Z
|
La dernière ligne indique la combinaison de touches "Ctrl+Z" suivie de la touche Entrée. Cette commande termine la séquence et envoie le texte au fichier qui sera automatiquement créé. Dans cet exemple particulier, le fichier est placé dans le répertoire courant mais d'autres emplacements peuvent être utilisés.
XXX-V. Astuces pour la console de commande de Vista
Windows XP et Vista ont la plupart de leurs lignes de commande en commun. Toutefois, il existe certaines différences. Les astuces spécifiques à Windows Vista sont données au
chapitre suivant.
Copyright traduction ©2009 Thomas Garcia.
Aucune reproduction, même partielle, ne peut être faite de cette traduction et de l'ensemble de son contenu :
textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi
jusqu'à 3 ans de prison et jusqu'à 300 000 Euros de dommages et intérets.
Copyright site web original : Victor Laurie