Variables et fonctions

L'environnement est un ensemble d'informations sur votre système que chaque programme reçoit. Chaque entrée de l'environnement se compose d'un nom de variable et d'une valeur de chaîne de caractères.

 

Utilisation

 

Vous pouvez remplacer automatiquement le texte par le nom de la variable dans n'importe quelle commande. Pour créer la substitution, incluez le signe de pourcentage % et le nom de la variable sur la ligne de commande ou dans un alias ou un fichier batch, par exemple ,%comspec. Si le nom de la variable dont vous souhaitez utiliser la valeur est une expression, vous pouvez la mettre entre parenthèses, par exemple %[%n]. Si vous souhaitez utiliser une variable ou une expression pour un nom de variable de tableau, la syntaxe est %[var[n]].

 

Vous pouvez créer, modifier, afficher et supprimer des variables d'environnement à l'aide des  commandesSET, ESET et UNSET.

 

Quelques variables d'environnement ont une signification particulière pour TCC (elles sont répertoriées dans Variables système ).

 

TCC Le système prend également en charge deux types particuliers de variables :

 

OnestepLesvariables internes sont similaires aux variables d'environnement, mais elles sont interprétées en interne par l'utilisateur. TCCet ne sont pas visibles dans l'environnement. Elles fournissent des informations sur votre système qui peuvent être utilisées dans les fichiers batch et les alias. Certaines d'entre elles permettent d'accéder à des informations qui peuvent changer même au cours de l'exécution d'une seule commande ou d'un seul fichier batch.

 

OnestepLesfonctions variables sont référencées comme les variables d'environnement, mais effectuent des actions supplémentaires telles que la manipulation de fichiers, de chaînes de caractères et des calculs arithmétiques. Outre les fonctions variables internes à TCCvous pouvez utiliser la  commandeFUNCTION pour créer vos propres fonctions. Ces dernières sont appelées fonctions variables définies par l'utilisateur ou UDF.

 

Vous pouvez renvoyer le résultat d'une commande avec %(command). C'est la même chose que d'utiliser la fonction variable @EXEC, mais c'est un peu plus facile à écrire.

 

%((...)) évaluera et remplacera l'expression numérique. Par exemple :

 

echo %((3+5)) est la réponse.

 

%[[...]] évalue l'expression conditionnelle et renvoie 0 si l'état de sortie est vrai ; 1 s'il ne l'est pas. Par exemple :

 

echo %[[5 == 6]]

 

Vous pouvez renvoyer la chaîne de résultats d'une commande avec %{commande}. C'est la même chose que @EXECSTR[commande], mais un peu plus facile à écrire. Par exemple :

 

dir %{echo foo}

 

sera traduit par "dir foo".

 

Remarque : TCC hérite de l'environnement initial du processus qui l'a démarré. Ce processus peut être l'Explorateur ou un autre processus Windows existant qui a lancé la TCC session en cours. Notez que si l'environnement du processus de départ est modifié (par des modifications du registre, par exemple) alors que TCC est déjà en cours d'exécution, ces changements ne seront pas automatiquement répercutés dans l'environnement actuel de TCCL' environnement actuel de Voir la commandeSET pour plus de détails.

 

La  commande SET permet de créer une nouvelle variable d'environnement. SET peut également modifier ou supprimer une seule variable d'environnement, ou afficher la valeur d'une ou de plusieurs variables d'environnement .ESET vous permet de modifier une variable d'environnement. UNSET supprime les variables d'environnement . Par exemple, vous pouvez créer une variable nommée BACKUP comme suit :

 

set BACKUP=*.bak;*.bk

 

Si vous tapez ensuite :

 

del %BACKUP

 

cela équivaut à taper la commande :

 

del *.bak;*.bk

 

Les noms de variables d'environnement que vous utilisez de cette manière peuvent contenir n'importe quel caractère alphabétique ou numérique, le caractère de soulignement _ et le signe du dollar $. Vous pouvez forcer l'acceptation d'autres caractères en incluant le nom complet de la variable entre crochets, comme ceci : %[AB##2] :%[AB##2]. Vous pouvez également faire référence indirectement à des variables d'environnement en utilisant des crochets. Par exemple,%[%var1] signifie "le contenu de la variable dont le nom est stocké dans VAR1".

 

En outre, l'application TCC utilise l'environnement pour connaître le répertoire par défaut de chaque lecteur. Windows n'enregistre que le répertoire par défaut du lecteur en cours ; TCC surmonte cette limitation en enregistrant le répertoire par défaut de chaque lecteur dans l'environnement, à l'aide de noms de variables cachés. Chaque variable commence par un signe égal suivi de la lettre du lecteur et de deux points (par exemple ,=C :) . Vous ne pouvez pas afficher ou modifier ces variables avec la  commandeSET.

 

Lesigne pour cent qui était traditionnellement requis pour les noms de variables d'environnement n'est généralement pas nécessaire pour les noms de variables d'environnement . TCCqui acceptent comme terminateur tout caractère ne pouvant faire partie d'un nom de variable. Cependant, le pourcentage final peut être utilisé pour maintenir la compatibilité avec CMD.

 

Le signe pour cent final est nécessaire si vous souhaitez ajouter des valeurs de variables. Les exemples suivants montrent les interactions possibles entre les variables et les chaînes littérales. Tout d'abord, créez deux variables d'environnement appelées ONE et TWO de cette manière :

 

set ONE=abcd

set TWO=efgh

 

Les combinaisons suivantes produisent le texte de sortie indiqué :

 

original

expanded

method

%ONE%TWO

abcdTWO

("%ONE%" + "TWO")

%ONE%TWO%

abcdTWO

("%ONE%" + "TWO%")

%ONE%%TWO

abcdefgh

("%ONE%" + "%TWO")

%ONE%%TWO%

abcdefgh

("%ONE%" + "%TWO%")

%ONE%[TWO]

abcd[TWO]

("%ONE%" + "[TWO]")

%ONE%[TWO]%

abcd[TWO]

("%ONE%" + "[TWO]%")

%[ONE]%TWO

abcdefgh

("%[ONE]" + "%TWO")

%[ONE]%TWO%

abcdefgh

("%[ONE]" + "%TWO%")

 

Si vous souhaitez transmettre un signe de pourcentage à une commande ou à une chaîne de caractères contenant un signe de pourcentage, vous devez utiliser deux signes de pourcentage à la suite. Sinon, le signe de pourcentage unique sera considéré comme le début d'un nom de variable et ne sera pas transmis à la commande. Par exemple, pour afficher la chaîne "Nous sommes avec vous à 100 %", vous devez utiliser la commande suivante :

 

echo We're with you 100%%

 

Vous pouvez également utiliser des guillemets inversés autour du texte, plutôt qu'un double signe de pourcentage.  Pour plus d'informations,voir la section sur les guillemets des paramètres.

 

Les variables d'environnement peuvent contenir des noms d'alias. TCC Les commandes suivantes remplacent le nom par la valeur de la variable, puis vérifient si un nom d'alias a été inclus dans la valeur. Par exemple, les commandes suivantes génèrent un répertoire à deux colonnes des  fichiers.TXT:

 

alias d2 dir /2

set cmd=d2

%cmd *.txt

 

Pour des raisons de compatibilité avec certaines syntaxes particulières introduites dans des versions récentes de CMD, TCC prend en charge :

 

%var:string1=string2%

Remplace la deuxième chaîne par toutes les occurrences de la première chaîne dans la variable.

%var:~x[,y]%

Renvoie la sous-chaîne commençant à la xe position de caractère (base 0) et continuant sur y caractères. Si y n'est pas spécifié, renvoie le reste de la chaîne. Si x est négatif, il commence à la fin de la chaîne.

 

Pour les manipulations de chaînes de caractères, nous vous suggérons d'utiliser les fonctions de variables, beaucoup plus souples.