Objet :Modifier l'invite de la ligne de commande

 

Format :PROMPT [text]

 

text Texte à utiliser comme nouvelle invite de la ligne de commande.

 

Voir aussi : ESET et SET (la  commande PROMPT est syntaxiquement équivalente à SET PROMPT).

 

Utilisation :

 

Vous pouvez modifier et personnaliser l'invite de la ligne de commande à tout moment. L'invite peut contenir du texte normal et des informations système telles que le lecteur et le répertoire actuels, l'heure et la date, ainsi que la quantité de mémoire disponible. Vous pouvez créer une invite informelle du type "Hello, Bob !" ou une invite complexe contenant des informations impressionnantes.

 

Le texte de l'invite peut contenir des commandes spéciales de la forme $ ?, où ? est l'un des caractères énumérés ci-dessous. Sauf indication contraire, ces métacaractères sont indépendants de la casse.

 

aLe caractère esperluette [&].
bLe caractère de la barre verticale [|].
cLa parenthèse ouverte [(].
dLa date du jour, au format : Fri 01-01-20 (le mois, le jour et l'année sont formatés en fonction des paramètres de votre pays)
DDate actuelle, au format : Fri 01-01-20 (le mois, le jour et l'année sont formatés selon les paramètres de votre pays) : Fri Aug 19, 2018
eLe  caractère ASCII ESC (décimal 27), nécessaire pour les  commandesANSI.
fLa parenthèse fermée [)].
gLe  caractère>.
hRetour arrière sur le caractère précédent.
jDate actuelle au format ISO 8601 (aaaa-mm-jj).
lLe  caractère<.
mHeure en heures et minutes au format 24 heures.
MHeure en heures et minutes au format du pays par défaut.
nLettre du lecteur actuel.
pLecteur et répertoire actuels (minuscules).
PLecteur et répertoire actuels (en majuscules sur les lecteurs qui ne prennent pas en charge les noms de fichiers longs ; les noms de répertoire sont affichés en majuscules et minuscules tels qu'ils sont stockés sur le disque sur les lecteurs LFN).
qLe  caractère=.
rCode numérique de sortie de la dernière commande externe.
sLe caractère espace.
tHeure actuelle sur 24 heures, au format hh:mm:ss.
THeure actuelle sur 12 heures, au format hh:mm:ss[a|p).
uL'utilisateur actuel .
vNuméro de version de Windows, au format 6.0.
wRépertoire actuel, dans un format abrégé. Si le répertoire actuel est la racine ou un sous-répertoire de premier niveau, il est affiché tel quel. S'il s'agit d'un sous-répertoire de deuxième niveau ou plus, le chemin est tronqué (par exemple, "c:\...\config"). (Cela ne fonctionne pas avec les noms UNC.) $W et $w se comportent comme $P et $p pour l'affichage des majuscules/minuscules.
xd :Répertoire actuel du lecteur d : en minuscules, y compris la lettre du lecteur (utilise la casse réelle du nom du répertoire tel qu'il est stocké sur le disque pour les lecteurs LFN).
Xd :Répertoire actuel sur le lecteur d : en majuscules, y compris la lettre du lecteur.
zNiveau d'imbrication actuel de l'interpréteur de commandes.
+Affichage d'un caractère + pour chaque répertoire de la  pile de répertoiresPUSHD.
$Le  caractère$.
$ :Affichage de l'heure de l'invite (au formathh:mm:ss ).
CR/LF (aller au début d'une nouvelle ligne).
~(remplace P). Si la variable d'environnement HOME (ou HOMEDRIVE + HOMEPATH) existe, TCC compare la variable au début du chemin actuel. S'ils correspondent, TCC rempl acera la partie variable par~. (S'ils ne correspondent pas, ~ est traité comme un P.)
=Temps écoulé (en millisecondes) depuis le lancement de la commande précédente.
"..."Affiche la date et l'heure actuelles dans un format personnalisé. Les caractères de formatage entre guillemets sont les mêmes que ceux utilisés par la  fonction @DATEFMT.
/Nom de l'hôte
@Nom de l'ordinateur
#Nom d'utilisateur
?Dernier niveau d'erreur pour une commande interne

 

Par exemple, pour définir l'invite sur la date et l'heure actuelles, avec un ">" à la fin :

 

[c:\] prompt $d $t $g

Mon Feb 24, 2020 10:29:19 >

 

Pour utiliser le métacaractère ~ (home) :

 

[c:\] set home=c:\users\myself

[c:\] set prompt=[$~]

[c:\] cd \users\myself\downloads

[~\downloads]

 

L'invite TCC peut être définie dans TCSTART ou dans tout fichier batch qui s'exécute au démarrage de TCC démarre.

 

Si vous entrez PROMPT sans paramètres, l'invite sera réinitialisée à sa valeur par défaut.

 

Vous pouvez inclure du texte littéral et des caractères spéciaux, ainsi que la valeur d'une  variable d'environnement, d'une variable interne ou d'une fonction variable dans une invite. Par exemple, si vous souhaitez inclure la taille du plus grand bloc de mémoire libre dans l'invite de commande, ainsi que le lecteur et le répertoire actuels, vous pouvez utiliser cette commande :

 

[c:\] prompt [(%%@dosmem[K]K) $p]

[(31043K) c:\data]

 

Remarquez que la fonction @DOSMEM est indiquée avec deux signes de pourcentage [%]. Si vous n'utilisiez qu'un seul signe de pourcentage, la fonction @DOSMEM serait développée en une seule fois lors de l'exécution de la commande PROMPT, au lieu de l'être à chaque fois que l'invite est affichée. Par conséquent, la quantité de mémoire ne changerait jamais par rapport à la valeur qu'elle avait lorsque vous avez entré la commande PROMPT. Vous pouvez également utiliser des guillemets inversés pour retarder l'expansion de la fonction variable jusqu'à l'affichage de l'invite:

 

prompt `[(%@dosmem[K]K) $p]`

 

Vous pouvez utiliser cette fonction avec la  fonction variable @EXEC pour créer une invite complexe qui ne se contente pas d'afficher des informations, mais qui exécute également des commandes. Par exemple, pour exécuter un alias qui vérifie l'état de la batterie à chaque fois que l'invite est affichée (saisissez l'alias sur une ligne) :

 

alias cbatt `if %_apmlife lt 30 beep 440 4 880 4 440 4 880 4`

prompt `%@exec[@cbatt]$p$g`

 

Vous pouvez inclure des  séquences d'échappement ANSI dans le PROMPT. Cet exemple utilise les séquences ANSI X3.64 pour définir une invite qui affiche le niveau du shell, la date, l'heure et le chemin d'accès en couleur sur la ligne supérieure de l'écran (saisissez la commande sur une seule ligne) :

 

prompt $e[s$e[1;1f$e[41;1;37m$e[K[$z] $d

Time: $t$h$h$h Path: $p$e[u$e[0;32m$n$g