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