Noms de variables et dossier dans une boucle

Noms de variables et dossier dans une boucle - Shell/Batch - Programmation

Marsh Posté le 07-02-2006 à 09:31:58    

Bonjour tout le monde,
 
Bon je suis super nulle à la base quand il s'agit de coder, et là en plus il faut que je fasse un truc en MS-DOS que j'avais jamais touché avant... donc svp foutez vous pas trop de moi ;)
 
C'est tout con,
J'essaie de faire une boucle type "tant que"
et j'essaie en plus de ranger mes résultats dans des dossiers dont le nom dépend de l'itération de la boucle
ça donne un truc du genre:
 
 
SET %%B = 1
 
:debut_tantque
 
FOR %%A  IN (1 2 3) DO fontion    "C:\\projet\\fichier_source" %%B %%A "C:\\projet\\resultats%%B\\fichier%%A"
 
SET %%B = 1 + %B%
IF %B% LSS 3 GOTO debut_tantque
 
et donc ça marche pas:
-le répertoire resultats%%B: il aime pas du tout (même si celui ci existe)
et la boucle il aime pas non plus, il me dit que 3 est une valeur inattendue...
 
Si quelqu'un parmi vous peut me renseigner... Ce serait super cool.

Reply

Marsh Posté le 07-02-2006 à 09:31:58   

Reply

Marsh Posté le 07-02-2006 à 18:49:13    

Bon, déjà exlique ce que tu veux faire au lieu de ne donner que le code dont on ne sert pas à quoi il sert :D
 
Là je devine que tu veux utiliser B comme un compteur, mais le problème c'est que tu ne sais pas distinguer une variable et sa valeur :D
 
Pour la commande  
set
la syntaxe est :
set variable=valeur
 
Donc
set %%b=1
n'est pas bon.
 
%%b c'est quoi ? ;)
 
Le format %%b n'est valable que dans une boucle. Et n'oublie pas que, de toute façon, %%b est une valeur et non pas une variable, donc ça n'a pas de place avant le signe = dans la commande set.
 
Et puis, la variable B n'est pas définie, donc la valeur %b% est vide. La commande
if %b% lss 3
devient alors à l'exécution :
if lss 3
forcément, ça ne peut pas marcher.
 
Rappel :
- b est une variable
- %%b est une valeur dans une boucle
- %b% est une valeur hors d'une boucle.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed