Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

fonctionnement intime de l'interpréteur ...

6 réponses
Avatar
Lotre
Bonsoir,

J'aimerais avoir quelques confirmations :
Tout ça concerne l'utilisation d'un fichier de commande
et non pas le mode console.


Si j'ai bien compris :

1. Chaque "ligne" est intégralement analysée
et les variables éventuelles y sont remplacées
par leurs valeurs avant l'exécution de la "ligne"

2. Avant la lecture/analyse/traduction
de la "ligne" suivante, le fichier de commande
est intégralement rechargé.

Dans les deux cas le mot "ligne"
ne désigne pas forcément un ligne réelle

par exemple le bloc
IF <condition> (
commandes1
) else (
commandes2
)
compte pour une "ligne" unique.

Il en est de même, par exemple, pour les structures "For"
qui s'étalement parfois sur plusieurs lignes réelles
à l'aide de parenthèses judicieusement placées ...

3. une variable quelque soit son nom est "récupérée" par %nom%
sauf
- si c'est un argument
on utilise alors %0 , %1 etc ...
- si c'est un variable d'une boucles for
on utilise alors %%a pour la déclaration explicite de la
première
et %%a, %%b etc ... pour la récupération
( mais on n'est pas obligé de commencer à la lettre a.)

4. Les commandes(*) et les noms de variables
ne sont pas sensibles à la casse
SAUF pour les variables des boucles for ...


merci d'avance pour les précisions éventuelles,

HB


(*) mais, bien sûr, certains arguments selon la commande utilisée
pourront être sensible à la casse...

6 réponses

Avatar
Gilles LAURENT [MVP]
"Lotre" a écrit dans le message de
news:
| Bonsoir,

Bonsoir,

| J'aimerais avoir quelques confirmations :

Moi aussi ! C'est qui, Moi, Lui, ou Lotre ?
Excellent :-)

Excusez-moi, je dois racrocher ! Le four sonne ;-)
Michel doit être dans le coin !

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Avatar
Méta-MCI \(MVP\)
Bonsoir !

À part le fait que les "variables", dans FOR ne sont pas sensibles à la
casse, et que le double pourcentage n'est que pour les batchs (en
interactif, un simple % suffit), ça me semble correct.

Sinon, il est possible de préciser que, si "remplacement des variables",
c'est pour % , il est possible d'utiliser ! , à l'exécution, avec
l'expansion retardée des variables d'environnement.

Mais, ce sont des détails. Le texte est globalement intéressant, et va
déjà bien au-delà de la compréhension des utilisateurs courants.

@-salutations
--
Michel Claveau
Avatar
Lotre
Gilles LAURENT [MVP] wrote:
"Lotre" a écrit dans le message de
news:
Bonsoir,



Bonsoir,

J'aimerais avoir quelques confirmations :



Moi aussi ! C'est qui, Moi, Lui, ou Lotre ?
Excellent :-)




et bien oui, Lotre c'est Moi ...
... enfin ... vous voyez ce que j'veux dire...

il m'a semblé que pour les citations
"Lotre" est plus facile à utiliser que "Moi" ;o)

HB
Avatar
Méta-MCI \(MVP\)
> Le four sonne



Tu manges à l'heure espagnole ?


Michel doit être dans le coin !



Oui, je suis rentré, après avoir perdu 6 heures aux urgences (pas pour
moi). Et, ces pertes de temps risquent de se reproduire dans les mois
qui viennent...
Heureusement, j'avais pris mon ordinateur portable, et j'ai pu créer une
page (http://ponx.org/ponx/opal1.htm)

@+
--
Michel Claveau
Avatar
Lotre
Méta-MCI (MVP) wrote:
Bonsoir !

À part le fait que les "variables", dans FOR ne sont pas sensibles à
la casse, (...)



??? are you certain ?

J'ai lancé ça ...
==================================== @echo off
@set AA=Test sur la casse.
@echo =================== @echo Minuscule : %aa%
@echo Majuscule : %AA%
@echo Melanges : %Aa%
@Pause
@echo =================== @for /f "tokens=1,2,3*" %%a in ("Un Deux trois Quatre Cinq") do (
@echo Majuscule : %%A
@echo Minuscule : %%a
@echo =================== @echo Majuscule : %%B
@echo Minuscule : %%b
@echo =================== @echo Majuscule : %%C
@echo Minuscule : %%c
@echo =================== @echo Majuscule : %%D
@echo Minuscule : %%d
)
@Pause
==============================
Pour le double %% ou pas c'est ok
J'avais précisé en intro que cela ne concernait que les batchs

Sinon, il est possible de préciser que, si "remplacement des
variables", c'est pour % , il est possible d'utiliser ! , à
l'exécution, avec l'expansion retardée des variables
d'environnement.



Oui mais , comme disait Polux, "c'est une autre histoire" . ;o)

Mais, ce sont des détails. Le texte est globalement intéressant, et
va
déjà bien au-delà de la compréhension des utilisateurs courants.



merci pour ce compliment !

A+

HB
Avatar
MCI \(ex do ré Mi chel la si do\) [MVP]
Re !

Autant pour moi (au temps pour moi ?) (*)
Les variables de FOR respectent effectivement la casse.
J'avais oublié ; c'est Aloïs qui commence...

@-salutations
--
Michel Claveau



http://fr.wiktionary.org/wiki/au_temps_pour_moi
http://fr.wiktionary.org/wiki/autant_pour_moi