Trucs et astuces Express - L'aide informatique au bout des doigts!

Bienvenue invité ( Connexion | Inscription )

2 Pages V   1 2 >  
Reply to this topicStart new topic
> [dos] La console cmd.exe
Dolarcles
posté 23-12-2004 - 18:13
Message #1


Modérateur


Groupe : Modérateurs
Messages : 2 113
Inscrit : 05-02-2004
Membre n° 2 139



Salut la foule!

Suite au tuto de base de mon pote dtatane, je vous propose ici un petit guide pour maîtriser "un peu plus" la console dos pour Win xp.

Contenu :
  • les propriétés de cmd.exe, ou comment avoir une console qui plaît
  • maîtrise du lancement de cmd.exe, ou comment avoir une console utile
  • les alias avec doskey, ou comment se simplifier la vie
  • les variables d'environnement, ou comment rendre nos commandes compatibles
  • quelques autres commandes bien utiles, ou comment se la péter grave sous la console
Les propriétés de cmd.exe

Mais de quoi il parle? Alors sachez déjà que pour lancer une console ms-dos, il faut faire "démarrer/exécuter" puis taper cmd.exe. Vous pouvez normalement le trouver également dans le menu accessoires de votre menu démarrer (si si!). Ce que nous allons faire dans cette première partie est de personnaliser et apprendre à comprendre les différentes options que Windows met à notre disposition pour ce programme.
A faire : Commencez par vous créer un raccourci pour l'invite de commande si vous ne disposez pas déjà d'un raccourci dans votre menu accessoires.
Pour cela, rien de plus facile, faites quelques part sur votre disque dur (où vous voulez...) un clique droit, suivi de "créer un raccourci". Le chemin du raccourci, facile, c'est du genre c:\windows\system32\cmd.exe pour le moment, on le personalisera plus tard.
Une fois que votre raccourci est fait, un petit clique droit, propriétés nous mènera là où on le veut.

Bien, vous êtes bien dans les propriétés de votre raccourci de cmd.exe? Tip-top, voyons ce que l'on a :

Général : Rien de bien terrible...
Raccourci : Stop, premier arrêt! Ici, on remarquera les champs "Démarrer dans" et "Touche de raccourci"
Ah ben oui, le champ "Démarrer dans" indique le répertoire dans lequel on va tomber lorsqu'on lance CETTE console! Alors je ne sais pas, mais vous n'avez p.e. pas spécialement envie d'arriver dans %HOMEDRIVE%%HOMEPATH%, qui correspond à c:\documents and settings\moilepuissant\? Et bien entrez ici le répertoire pour lequel vous avez une préférence, en sachant que
%HOMEDRIVE% = lettre de votre disque dur principal
%HOMEPATH% = chemin d'accès à votre répertoire personnel

Il y a en a bien d'autres, mais on en reparle plus à fond dans la section "variable d'environnement". Mais pour votre info, tapez
CODE
set
dans une console quelconque, et sachez que tout ce qui se trouve dans la colonne de gauche, si vous l'entourez de % (comme dans %HOMEDRIVER%), et bien la console l'interpètera comme étant ce qui se trouve dans la colonne de droite.
Exemple compréhensible :
CODE
APPDATA=C:\Documents and Settings\Administrateur\Application Data
signifie que si toi taper %APPDATA% dans la console, console comprendre C:\Documents and Settings\Administrateur\Application Data
Par exemple, tape
CODE
echo %random%
, et pouf on vient de découvrir un générateur de nombre aléatoire sous la console... Puissant non? M'enfin je m'égare...

2ème arrêt : le champ "Touche de raccourci". Ah ben oui, la console c'est pratique, mais ça emmerde tjrs d'aller la chercher au fin fond de sa vallée. Alors attribuez-lui un raccourci, comme ctrl-alt-c ou ctrl-alt-x! C'est tellement plus pratique!

Bon changeons d'onglet :

Options : Quelques petits trucs à personaliser, je vous conseille par-exemple de cocher "Mode insertion" et "Mode d'édition rapide" ce qui va vous facilitez la tâche pour copier-coller des infos depuis la console
Police : Mouais si ça vous amuse...
Disposition : Ca mérite qu'on s'y attarde, car parfois la taille de la fenêtre ne convient pas à tlm, alors ne vous gênez pas.
Couleur : Idem, p.e. que vous n'aimez pas le texte blanc sur fond noir? Essayez d'autres configs, ça vaut la peine pour le confort des yeux

Et voilà, ça sera tout pour le panneau des options! Passons au chapitre suivant.

Maîtrise du lancement de cmd.exe

J'en entends déjà râler au fond
CITATION
Bahhhh je sais cliquer sur une icône nom d'un chien!
C'est bien, mais si tu avais suivi, tu saurais que maintenant notre console on la lance avec un raccourci clavier... M'enfin!
On va s'attarder aux options de ligne de commande de... la commande cmd.exe. Autremment dit, on va retourner dans notre panneau d'option, sous l'onglet raccourci et on va s'attarder à ajouter plein de trucs bizarres après notre c:\windows\system32\cmd.exe !
Pour une liste exhaustive des options de cmd.exe, tapez
CODE
help cmd
dans la console, mais je vous préviens c'est long!


Premier option qui nous intéresse, le /K. Pk? Car
CITATION
/K  Exécute la commande donnée par la chaîne de caractères puis reste actif
Et bien oui, ne soyez pas étonné, l'option /C par exemple exécute la commande donnée puis termine la console. GNéééé??? Je m'explique : la console est un interprèteur de commande, ce qui signifie qu'à la base, ça ne sert qu'à lancer des programmes (comme edit LOL). Donc à la base il est naturel d'utiliser cmd.exe pour lancer un programme et une fois que c'est fait, ben qu'il se ferme! Mais nous on est des roxors, alors on veut continuer à l'utiliser notre console, c'est pourquoi l'option /K nous intéresse, car on peut ensuite mettre à sa suite quelques programmes bien utile lors du lancement de notre console. En fait, c'est la seule option que l'on garde, le reste étant d'entasser des programmes derrière cette option!
Sachez juste que l'option
CODE
/F:ON
permet d'activer l'auto-complétition ou la terminaison des noms de fichiers et de répertoires. CA DECHIRE! Ca signifie qu'à l'aide d'une touche raccourci, la console vous proposera à partir de quelques lettres de taper pour vous la fin de votre ligne! Par exemple vous voulez allez dans le répertoire "documents and settings". Rahh fais chier c'est long. Ben avec cette option, tapez d puis votre touche raccourci et cmd vous terminera tout seul votre ligne...
Mais comment on configure notre touche raccourcie? Par défaut, c'est ctrl-d, mais vous voulez p.e. qqch de plus pratique... ben là, c'est quand même plus simple d'aller dans la base de registre, avec la commande REGEDIT, allez ensuite dans

CODE
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar

   et/ou

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar


Le code hexadécimal pour TAB (qui est à mon avis la touche la plus pratique) est 0x9, donc modifiez (si nécessaire) les valeurs, et ajouter les valeurs si elles n'existent pas (chez moi par exemple le PathCompletionChar n'existait pas, pour ajouter sachez qu'il s'agit d'une valeur DWORD). Voilà déjà une bonne chose de faite!

Retournons maintenant à notre /K. Sachez que si vous voulez ajouter une commande après l'appel de votre cmd (je sais pas moi, par exemple un PROMPT pour changer la tronche de votre invite), il suffit de mettre la commande après le /K. Si vous voulez ajoutez plusieurs commandes, facile séparez-les par un &&. Nous verrons dans les chapitres suivants quel genre de commandes intéressantes nous pourrions ajouter...

Les alias avec doskey

Doskey doskey... c'est quoi ce truc barbare? Il s'agit simplement d'un utilitaire pour créer des alias. Par exemple, vous en avez marre de tapez dir /AD pour n'afficher que les répertoires? Créez donc un alias :
CODE
doskey dirr=dir /AD

Facile non? A gauche, le nom de votre alias, à droite ce à quoi cela correspond. Il y a des tonnes d'options bien entendu, la plus intéressante étant de pouvoir charger une liste d'alias via un fichier texte. Là ça devient intéressant, vous pouvez aliaser tout et n'importe quoi (comme reboot=shutdown -r -t 0 -f)! Alors, ouvrez le bloc-note, mettez-y tous les alias qui vous intéresse sous la forme MONALIAS=MACOMMANDE, un par ligne, simple non? Nommez ce fichier, puis enregistrez-le dans votre répertoire "démarrer dans" (le répertoire dans leque vous arrivez lorsque vous lancez la console). Comment charger votre document? Facile :
CODE
doskey /MACROFILE=nomdevotrefichier

Mais j'entends d'ici râlez le même du fond
CITATION
Wahhh la merde, ça me fait chier de taper tout ça!!
Qu'à cela ne tienne, tu as bien suivi la leçon précédente? Alors tu vas inclure ça à la ligne de commande de ton raccourci!
Ca donnera : c:\blablabla\cmd.exe /K doskey /MACROFILE=nomdufichier
Elle est pas belle la vie? Et si vous aviez déjà mis des autres commandes, ça donnera c:\blablabla\cmd.exe /K uneautrecommande&&encoreuneautrecommande&&echo salut!&&doskey /MACROFILE=nomdufichier vu que && est un séparateur pour les commandes.
Je profite de ce chapitre pour vous copier-coller un bout du fichier d'aide de doskey :

CITATION
Flèches HAUT/BAS rappellent les commandes ; ÉCHAP efface la ligne ; F7 affiche
l'historique ; ALT+F7 efface l'historique ; F8 recherche dans l'historique ;
F9 choisit une commande par son nombre ; ALT+F10 efface les déf. de macros.

Ne me regardez pas avec des gros yeux, essayez vous verrez c'est assez utile!
Les variables d'environnement

Ce chapitre est complémentaire aux autres, on y apprend juste comment utiliser des variables simples pour des chaînes de caractères parfois compliquées. Allez dans une console, tapez simplement SET. Vous y verrez toutes les variables d'environnements déjà établies sur votre pc. Vous pouvez les utiliser comme je l'ai indiqué plus haut, en tapant %lavariable%, cmd reconnaitra cela comme si vous aviez tapez ce qui suit ce %lavariable% (comme SystemRoot=C:\WINDOWS). Bien entendu, y'a des variantes. Si vous tapez %votrevariable:ch1=ch2%, cela va développer votre variable et remplaçer tous les ch1 par des ch2. Il y a aussi le %votrevariable~10,5% qui va développer votre variable mais n'en prendre que les 5 caractères à partir du 11ème (décalage de 10 caractères). Le %votrevariable~-10% sinon n'extrait que les 10 DERNIERS caractères de votre chaîne. Et enfin, le summum, %votrevariable~0,-10% extrait tous SAUF les 10 derniers caractères. Qui a dit que Windows c'est de la daube mmmmh? Bien sûr on peut faire des trucs encore plus compliqués, mais je vous indiquerai juste comment créer vos propres variables (tjrs utile!). Il suffit de taper
CODE
set mavariable=mavaleur
A noter que vous ne pouvez mettre que des caractères (pas de commande ou autre truc bizarre), mais en revanche avec l'option /A, vous pouvez mettre une expression arithmétique/logique (qui sera évaluée). Si vous mettez /P en revanche, le programme invitera l'utilisateur à entre la valeur de la chaine. Comme d'habitude, pour de plus amples renseignements, tapez SET /?
Voici quelques variables d'environnements "supplémentaires" par-rapport à celles qu'affiche un simple SET :

%CD% - a le même effet que la commande cd, mais en variable d'environnement (LOL)

%DATE% - a presque le même effet que la commande date, mais en variable d'environnement (RELOL)

%TIME% - a presque le même effet que la commande time, mais en variable d'environnement (PTDR)

%RANDOM% - vous génère un nombre aléatoire entre 0 et 32767. (et oui le voilà!!!)

%ERRORLEVEL% - vous indique (en gros), si vous avez une erreur dans votre fichier batch ou pas (c'est du très simplifié...)

%CMDEXTVERSION% - trucs de barbare pour gros geek des fichiers batch (help set pour plus d'infos, c'est à la fin)
%CMDCMDLINE% - idem que le précédant


Quelques autres commandes bien utiles

Aller, on fini en beauté avec 2-3 commandes consoles bien pratique :

ASSOC : Permet de modifier les applications associées aux extensions de fichiers. OK vous pouvez faire ça sous Windows...
AT : HA! Un petit peu compliqué d'emploi (AT /? pour plus de détails), mais ce programme vous permet de planifier des tâches sur votre pc. Vous voulez faire un format c: /q tous les mercredi? C'est possible, et sans programme débile qui se met à côté de votre horloge ou au démarrage de votre pc. A ESSAYER!!!!
CALCS : Truc de geek qui permet d'afficher et de modifier les listes de contrôles d'accès à vos fichiers...
CLS : Super-cool, ça vide votre console et la remet à neuf.
COMPACT : Pour compresser vos fichiers
ECHO: Affiche simplement à l'écran ce qui suit votre ECHO. Exemple
CODE
Echo salut couillon
affichera "salut couillon". Ca vous paraît débile? Pas tant que ça dans un fichier batch ou dans votre fichier d'alias (doskey)...
EXIT : Ben pour fermer la console comme un pro, vous avez même des options de sortie (exit /? au cas où...)
FINDSTR : Sert à chercher des chaînes de caractères dans des textes... utile en batch
MD : Créé un répertoire... ah ben oui
MORE : Affiche le contenu d'un fichier
PROMPT : Pour personaliser le c:\> de votre console (utile en option de commande)
SUBST : Attribue une lettre de lecteur à un répertoire (HUUUU!!!)
TREE : Affiche vos fichiers comme un gros geek
TITLE : Pour changer le nom qui apparaît dans la barre de la fenêtre (utile en option de commande)
START : Très utile en batch pour lancer un programme avec plein d'options (comme attendre qu'il soit exécuté avant de continuer, etc..)

Et pour en avoir d'autres, tapez simplement HELP sous la console!!!
Pour plus de détails pour chaque commande, c'est tjrs la même chose : COMMANDE /?
On peut y trouver des trucs sympas, exemple, tapez

J'attends vos commentaires et/ou questions!


--------------------
Dolarcles, super modo qui modère
--------------------------------------------------
"T'écris mal je t'explose"
--------------------------------------------------
Politesse | Bon français | Règlement
Excellent exemple!
Sinon je cogne! Et ça donne ça!
Go to the top of the page
 
+Quote Post
Dolarcles
posté 06-03-2005 - 11:34
Message #2


Modérateur


Groupe : Modérateurs
Messages : 2 113
Inscrit : 05-02-2004
Membre n° 2 139



Comme exemples, voici les paramètres de ma ligne de commande ainsi que le contenu du fichier macro.txt! En avant-première!

Paramètres ligne de commande :
%SystemRoot%\system32\cmd.exe /K doskey /macrofile=macro.txt&&cd "%homepath%\mes documents"&&prompt $L$T$H$H$H$H$H$H$G$_$P$G&&Title Geekbuster&&set DIRCMD=/TC /4 /L /OE

Le /K permet d'exécuter toutes les commandes et de maintenir la fenêtre ouverte.
Le doskey charge mes macro
Le cd me place dans le répertoire mes documents
Le prompt place l'heure au-dessus de la ligne de commande
Title c'est pour emmerder mes potes geek
La variable DIRCMD permet de régler par défaut la commande dir ainsi :
Champ heure = création du fichier
L'année affichée sur 4 chiffres
Affichage en minuscule (ça agresse moins)
Fichiers trié par extensions

Contenu fichier macro :

dirf=dir /A-D
dirr=dir /AD
cdd = cd \
ls=dir
quit=exit
bye=exit
tcho=exit
bonjour=echo Salut toi!
euh = echo Quelle commande je te prie?
cdc=%homedrive%$Tcd %homepath%$Tcd mes documents
fermer=shutdown -s -t 0 -f
reboot = shutdown -r -t 0 -f
beuh = cls&&echo "Recherche des processus bloqués..."&&taskkill /FI "STATUS eq NOT RESPONDING"
proc = tasklist /V >temp.tmp&&start /MAX /WAIT notepad temp.tmp&&del temp.tmp
qproc = qprocess * >temp.tmp&&start /MAX /WAIT notepad temp.tmp&&del temp.tmp

dirf n'affiche que les fichiers
dirr n'affiche que les répertoires
cdd retourne à la racine
ls c'est pour emmerder mes potes geek...
quit, ye, tcho c'est pour fermer la console
cdc ça va directos dans mes documents
fermer éteint l'ordinateur
reboot reboot...
beuh butte tous les process bloqué
proc affiche dans le bloc-note la liste des processus
qproc idem (presque)
Voilà, si ça peut vous inspirer ou si vous avez d'autres idées, exprimez-vous!


--------------------
Dolarcles, super modo qui modère
--------------------------------------------------
"T'écris mal je t'explose"
--------------------------------------------------
Politesse | Bon français | Règlement
Excellent exemple!
Sinon je cogne! Et ça donne ça!
Go to the top of the page
 
+Quote Post
Helger
posté 06-03-2005 - 11:45
Message #3


Modérateur


Groupe : Modérateurs
Messages : 4 997
Inscrit : 18-01-2005
Lieu : Gaule
Membre n° 5 492



CITATION
bonjour=echo Salut toi!
euh = echo Quelle commande je te prie?

Un batch poli. Envoie le à Microsoft. icon_wink.gif

Une autre idée, oui, mais ce sera bientôt un autre tuto. (Avec un petit lien vers celui-ci. icon_wink.gif .)


--------------------
Go to the top of the page
 
+Quote Post
pegase1980
posté 29-03-2005 - 7:25
Message #4


Membre


Groupe : Membres
Messages : 1
Inscrit : 29-03-2005
Membre n° 6 285



Hello,

Quelque pourrais me renseigner sur les options de la ligne de commande pour afficher un fichier qui comporte des lettres avec accents comme le : é, è, ö, ü etc

mes options jusqu'à maintenant sont les suivantes :

cmd /c start /B "NOM DU FICHIER QUE JE VEUX OUVRIR"

EX.: CMD /C START /B .\BMP\001000\OBJET3.JPG



MERCI D'AVANCE DE VOTRE REPONSE
Go to the top of the page
 
+Quote Post
Helger
posté 29-03-2005 - 7:42
Message #5


Modérateur


Groupe : Modérateurs
Messages : 4 997
Inscrit : 18-01-2005
Lieu : Gaule
Membre n° 5 492



CITATION(pegase1980 @ 29-03-2005 - 13:21)
EX.: CMD /C START /B .\BMP\001000\OBJET3.JPG

Désolé, mais j'ai loupé quelque chose.
Ce que tu ouvres est une image ou un dessin.
Dans la logique des choses, cela va t'ouvrir Paint (Ou le logiciel associé aux Jpeg.") avec ton fichier en visualisation.
Quel est le rapport avec les lettres accentuées ? blink.gif


--------------------
Go to the top of the page
 
+Quote Post
Dolarcles
posté 30-03-2005 - 12:45
Message #6


Modérateur


Groupe : Modérateurs
Messages : 2 113
Inscrit : 05-02-2004
Membre n° 2 139



Oui il y a des gens avec des idées un peu farfelues icon_wink.gif. Essais de taper ta commande entre guillemets "" dès que tu veux introduire des noms de fichiers longs ou des caractères spéciaux.


--------------------
Dolarcles, super modo qui modère
--------------------------------------------------
"T'écris mal je t'explose"
--------------------------------------------------
Politesse | Bon français | Règlement
Excellent exemple!
Sinon je cogne! Et ça donne ça!
Go to the top of the page
 
+Quote Post
Pipo
posté 16-04-2005 - 11:38
Message #7


Membre


Groupe : Membres
Messages : 11
Inscrit : 16-04-2005
Membre n° 6 430



Salut les poilus ,
Je voulais savoir si tu pourrais un peu développer la commande prompt.
ça m'a l'air plutot intéressant...
SI le coeur t'en dit ça serait sympa !
Go to the top of the page
 
+Quote Post
Dolarcles
posté 17-04-2005 - 8:50
Message #8


Modérateur


Groupe : Modérateurs
Messages : 2 113
Inscrit : 05-02-2004
Membre n° 2 139



Soit, c'est tout simple! Voici le contenu de prompt /? :

L'invite peut être composée de caractères normaux et des codes suivants :

$A & (signe &)
$B | (barre verticale)
$C ( (parenthèse gauche)
$D date actuelle
$E code ECHAP (code ASCII 27)
$F ) (parenthèse droite)
$G > (signe supérieur)
$H retour arrière (efface le caractère précédent)
$L < (signe inférieur)
$N lecteur en cours
$P lecteur et chemin d'accès en cours
$Q = (signe égal)
$S (espace)
$T heure en cours
$V numéro de version de Windows XP
$_ retour chariot et saut de ligne
$$ $ (signe dollar)

Donc en gros, tu réfléchis à ce que tu voudrais comme ligne de commande (avec répertoire, disque dur, heure, date ou je ne sais quoi). Il te suffit de regarder dans les balises ci-dessus. Une fois que c'est fait, tapes-la dans la bloc-note (par exemple), copie-colle dans une fenêtre de console. La syntaxe doit ressembler à ça :

prompt $T$S

Par exemple. Là tu auras une invite de commande avec la date, suivie d'un espace. Donc tu entres ton code, tu fais enter et tu mattes à quoi ça ressemble (ça ne sera p.e. pas forcément ce à quoi tu t'attendais), puis tu corriges en fonction.

Questions, problèmes?


--------------------
Dolarcles, super modo qui modère
--------------------------------------------------
"T'écris mal je t'explose"
--------------------------------------------------
Politesse | Bon français | Règlement
Excellent exemple!
Sinon je cogne! Et ça donne ça!
Go to the top of the page
 
+Quote Post
Pipo
posté 26-04-2005 - 14:24
Message #9


Membre


Groupe : Membres
Messages : 11
Inscrit : 16-04-2005
Membre n° 6 430



oui merci
c'est rien à voir avec le prompt ...

j'essaie d'utiliser la commande shutdown -s -m\\nom-de-l'ordi

mes ordis sont donc en réseau et depuis un de ceux là je rentre : shutdown -s -m\\ fabien
et il me dit: " le chemin réseau n'a pas été trouvé "

comme je trouve cette commande géniale mais que je n'arrive pas à l'utiliser ben je me réfère à toi
cool.gif

merci pour tout bonne soirée
Go to the top of the page
 
+Quote Post
Helger
posté 26-04-2005 - 14:36
Message #10


Modérateur


Groupe : Modérateurs
Messages : 4 997
Inscrit : 18-01-2005
Lieu : Gaule
Membre n° 5 492



Salut,
pour utiliser cette commande sur un ordinateur distant, il faut avoir les droits administrateurs sur la dite machine, sinon que néni.
Les as-tu ?
Ensuite, l'ID du PC est réellement "Fabien" ?
As-tu essayé en tapant l'adresse IP de la machine plutôt que son nom Netbios ?


--------------------
Go to the top of the page
 
+Quote Post
Pipo
posté 26-04-2005 - 14:37
Message #11


Membre


Groupe : Membres
Messages : 11
Inscrit : 16-04-2005
Membre n° 6 430



oui je suis l'administrateur normalement mais je n'ai pas essayé avec l'IP je vais tout de suite voir merci
Go to the top of the page
 
+Quote Post
Pipo