| Objectif : | Afficher un bloc de texte dans un fichier batch |
| Format : | TEXT |
.
.
.
ENDTEXT
Voir aussi : ECHO, ECHOS, SCREEN, SCRPUT, et VSCRPUT.
Utilisation :
TEXT ne peut être utilisé que dans les fichiers batch. TEXT et ENDTEXT doivent être saisis comme seules commandes sur leurs lignes respectives et ne peuvent pas être inclus dans un groupe de commandes.
La commande TEXT est utile pour afficher des menus, des tableaux, des caractères spéciaux ou des messages multilignes. TEXT affiche toutes les lignes du fichier batch entre lui-même et le ENDTEXT de fin. L'affichage commence à la position d'affichage actuelle, ce qui vous permet de commencer l'affichage avec un autre texte, par exemple à partir de la commande ECHOS.
Les lignes entre TEXT et ENDTEXT ne sont pas analysées. Par conséquent, aucune expansion de variable d'environnement ni aucun autre traitement n'est effectué, et toutes les lignes sont affichées exactement comme elles sont stockées dans le fichier batch, sous réserve uniquement du choix de la police de caractères et des différences de page de code, le cas échéant, entre le programme qui a créé le fichier et celui qui est en vigueur lors de son exécution. Il est donc facile d'inclure des caractères spéciaux, par exemple < | >, dans le texte. Toutefois, si l'option d'interprétation ANSI X3.64 est activée, vous pouvez modifier les couleurs d'écran en insérant des séquences d'échappement ANSI X3.64 n'importe où dans le bloc de texte. La commande ENDTEXT elle-même ne sera pas affichée.
Vous pouvez également utiliser la commande CLS ou la commande COLOR pour définir les couleurs d'écran par défaut avant d'exécuter TEXT.
Redirection de lasortie deTEXT
Pour rediriger ou acheminer tout le bloc de texte, utilisez laredirection ou l'acheminement sur la commande TEXT elle-même, comme indiqué dans les exemples ci-dessous. Comme pour toute autre commande, cette redirection n'est pas affectée par la redirection de toutes les sorties du fichier batch par la commande qui a lancé le fichier batch. Toute tentative de redirection ou d'acheminement des lignes de texte proprement dites est ignorée. Toute tentative de redirection ou de transfert de la ligne ENDTEXT n'est pas valide.
Attention : Si la commande TEXT est redirigée ou acheminée et que la redirection ou l'acheminement échoue, les lignes du fichier batch qui suivent la commande TEXT sont exécutées comme s'il s'agissait de commandes, ce qui peut être préjudiciable . La façon la plus simple d'éviter ce problème est d'utiliser la commande ON ERROR avant la commande TEXT. Voir le deuxième exemple ci-dessous.
Exemples :
Le fragment de fichier batch suivant affiche un menu simple :
@echo off & cls
screen 2 0
text
Enter one of the following:
1 - Spreadsheet
2 - Word Processing
3 - Utilities
4 - Exit
endtext
inkey /k"1234" Enter your selection: %%key
L'exemple ci-dessous utilise TEXT pour afficher ou ajouter un fichier (spécifié en tant que paramètre facultatif du fichier batch) :
@echo off
setlocal
setdos /x-6
set dest=%@if[%# GT 0,>> %1,]
setdos /x+6
set repeat=0
on error (unset dest & goto PROBLEM)
:PROBLEM
iff %repeat GT 1 then
echo Repeated problems - quitting
quit
endiff
set repeat=%@inc[%repeat]
text %dest
+----------------+
| Logical Drives |
+----------------+
endtext
subst %dest
echo. %dest
if %_transient eq 1 .and. %# EQ 0 pause
endlocal