Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
variable da's une variable
Auteur Message
Répondre en citant
Message variable da's une variable 
Salut ! Est il possible de faire une variable dans une variable car c'est bien beau une variable mais pour des qui ne sont pas predefini exemple : %message%num%% il existe la variabl num et messagenum




______________________________________________________


mon site web http://pr1c3-game.craym.eu/
aide moi a faire revivre la section vb ! (http://batch.xoo.it/f62-VB-Net.htm)

"J'ai toujours raison surtout quand j'ai tord" citation de moi même
mon niveau
batch : 40/100
vb : 60/100
Visiter le site web du posteur Skype
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message variable da's une variable 
oui, bien sur, essais en activant l'expansion ex:


Code:

@Echo off

SETLOCAL ENABLEdelayedExpansion

set /a ComptA=0
set /a ComptA+=1

set Dossier!ComptA!=%~dpnx0

echo.
echo.Dossier!ComptA!=!Dossier%ComptA%!
echo.
EndLocal

pause
exit







______________________________________________________
la vie simple c'est pas facile
Répondre en citant
Message variable da's une variable 
ok merci et c est quoi SETLOCAL ENABLEdelayedExpansion




______________________________________________________


mon site web http://pr1c3-game.craym.eu/
aide moi a faire revivre la section vb ! (http://batch.xoo.it/f62-VB-Net.htm)

"J'ai toujours raison surtout quand j'ai tord" citation de moi même
mon niveau
batch : 40/100
vb : 60/100
Visiter le site web du posteur Skype
Répondre en citant
Message variable da's une variable 
les explication sur le net et dans l'aide de cmd ne sont pas tres claires, voilà ce que je sais:


setLocal ENABLEdelayedExpansion etand la portée des variables, pour les for, call et if.


petits exemples (je sais pas trop comment l'expliquer):

exemple1:
Code:

@Echo off
echo.
for /l %%a in (1,1,7) do (
REM ne fonctionne pas,
   set var_%%a=valeur_%%a
   echo.var_%%a=%var_%%a%

echo.


setLocal ENABLEdelayedExpansion
echo.
for /l %%a in (1,1,7) do (
REM là, ça fonctionne.
   set var_%%a=valeur_%%a
   echo.var_%%a=!var_%%a!
)
echo.
EndLocal

pause
exit



exemple2:
Code:

@Echo off

set var=valeur
Call:test1

echo.%var%
pause
exit


:test1
if "%var%"=="valeur" (
   echo.%var%
   Call:test2
)
Goto:eof

:test2
setLocal ENABLEdelayedExpansion
if "%var%"=="valeur" (
   set var=val
   echo.!var!
)
EndLocal
Goto:eof



cela permet donc d'augmenter la porté et les possibilitées des variables,
qui une fois l'expansion activé, ne s'ecrivent plus %var% mais !var!
indispenssable pour les boucles avec des compteurs, ou si ton code fait appel a des if et des call.



Citation:

Utilisez les commandes Setlocal et Endlocal

La commande Setlocal copie toutes les variables d’environnement,
et Endlocal les restaure toutes aux valeurs qu’elles avaient avant que le script ne démarre.
Endlocal supprime aussi les éventuelles variables que le script a créées.

L’utilisation de ces deux commandes rend un script plus autonome
et s’assure que ledit script « nettoie après son passage »
en restaurant les variables d’environnement à leurs valeurs d’origine
et en supprimant les variables créées par le script.

Vous pouvez aussi utiliser la commande Setlocal Enableextensions
pour être sûrs que les extensions de commandes seront validées.
Ces extensions sont des améliorations apportées à un groupe de commandes internes Cmd.exe
(par exemple, If, For, Call) qui offrent des possibilités étendues
au-delà des commandes Command.com portant les mêmes noms.

Les extensions de commandes sont validées par défaut,
mais dans les rares cas où les extensions de commandes sont désactivées,
la commande Setlocal Enableextensions garantit que les extensions de commandes sont validées.
Pour voir plus d’informations sur les extensions de commandes, tapez Cmd /? à une invite de commande.





______________________________________________________
la vie simple c'est pas facile
Répondre en citant
Message variable da's une variable 
merci




______________________________________________________


mon site web http://pr1c3-game.craym.eu/
aide moi a faire revivre la section vb ! (http://batch.xoo.it/f62-VB-Net.htm)

"J'ai toujours raison surtout quand j'ai tord" citation de moi même
mon niveau
batch : 40/100
vb : 60/100
Visiter le site web du posteur Skype
Message variable da's une variable 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch