Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
Variable dans une autre
Auteur Message
Répondre en citant
Message Variable dans une autre 
Bonjour, j'ai un petit probleme :
Je dois comparer deux variables entre elles mais une elle change grace a un for, regardez vous allez comprendre :
Code:


echo %m1%%m2%%m3%%c1%%m4%%m5%%c2%
:: format XXX0XX0 :
set /a n=%n%+1
set gn%i%=%m1%%m2%%m3%%c1%%m4%%m5%%c2%
set gen=gn%n%
set e=0

:comp
::set /a e=%e%+1
::set comp=gn%e%
::if %e%==%n% goto compfin
for /f "eol=; delims=" %%i in ('type %pass%') do (
if "%%i"=="%gn%" echo Mˆme mdp, retour & goto gv
)

echo %m1%%m2%%m3%%c1%%m4%%m5%%c2%>> %pass%
goto gv


%m1%, %m2% : une lettre par variable
%c1%, %c2% :un chiffre par variable
%m1%, %c1%, ... changent quand on passe a :gv
%n%= nombre 1 ,+1 à chaque passage
%e%= idem

Je compare les anciennes valeurs sauvegardées en gn%i% a celles actuelles.
En faite, je suis obliger d'exporter mes valeurs de %m1%, %m2%, ... vers un fichier texte pour les relire et pouvoir les comparer car je n'arrive pas a transformer gn%i% en une variable sans i car cela me fais ca, illisaible en batch : %gn%i%%
j'ai essayé de le remettre dans une autre variable : set gen=gn%n% mais ca ne fonctionne pas !

Help me plz !




______________________________________________________
Fongn
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Variable dans une autre 
Bonjour
essaie peut-être en créant une variable pour %%i apres le do set valeur=%%i ce qui donnerait %gn%%valeur% ou souvant il suffit de mettre des double guillements surtout pour les variables

"%gn%%%i" ou "%gn%^%%i"




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message Variable dans une autre 
Oui mais %i% du debut est different du %%i de for qui lit mon fichier, donc %%i ne prendra pas la valeur du premier (%i% est un nombre +1 a chaque passage)




______________________________________________________
Fongn
Répondre en citant
Message Variable dans une autre 
Salut,
Comme l'a suggéré Laddy, essaye ca, ca marchera mieux ....... Mr. Green

Code:

echo %m1%%m2%%m3%%c1%%m4%%m5%%c2%
:: format XXX0XX0 :
rem -------Correction--------
set /a n = n + 1
set gn%i%=%m1%%m2%%m3%%c1%%m4%%m5%%c2%
set gen=gn%n%
set e=0

:comp
rem ----------Correction-----------c'est pas "set /a e=%e%+1" mais "set /a e = e + 1"
::set /a e = e + 1
::set comp=gn%e%
::if %e%==%n% goto compfin

rem -------------Correction------------------
for /f "eol=; delims=" %%i in ('type %pass%') do (
 set NEW_VAR=%%i
  )
if %NEW_VAR%=="%gn%" echo Mˆme mdp, retour & goto gv


echo %m1%%m2%%m3%%c1%%m4%%m5%%c2%>> %pass%
goto gv
ou alors si tu veux déclarrer %i% avec la valeur %%i
Code:

for /f "eol=; delims=" %%i in ('type %pass%') do (
 set i=%%i
  )
if %i%=="%gn%" echo Mˆme mdp, retour & goto gv





______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Message Variable dans une autre 


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