Concatenation dans une variable (set) - Shell/Batch - Programmation
Marsh Posté le 27-07-2006 à 14:16:21
for /?
et lis la partie parlant de l'expansion retardée des variables d'environement.
Marsh Posté le 28-07-2006 à 08:57:17
ouai, j'ai pas trop compris ce que c'est expansion retardée à la vue d'autre post
mais j'ai remarqué l'utilisation d'un appel de procédure pour effectuer la tâche d'un for..
Marsh Posté le 28-07-2006 à 13:31:17
Je ne sais pas de quel autre post tu parles mais effectivement, un appel de procédure fera bien l'affaire et j'ai déjà donné un exemple dans chais_plus_quel_topic
Marsh Posté le 02-08-2006 à 16:48:48
Tu doit activer l'expansion des variables retardées :
SETLOCAL ENABLEDELAYEDEXPANSION
et tu fait ensuite :
set f=!f! %%e
A+
Marsh Posté le 27-07-2006 à 10:29:05
Bonjour,
Je souhaite lister tous les fichiers dans un répertoire
et pour chacun de ses fichiers j'aimerais les stocker dans une variable et qu'ils soient séparés par un point virgule (;)
Ma variable contiendrait "fic1 ; fic2; fic3; ... ; ficn;"
et j'obtient :
Quoique je fasse ma variable contient seulement le dernier fichier de la boucle ..
La variable %f% est bien lu la première fois puisqu'on voit ""
mais ce qui est bizarre c'est que je ne dois pas réecrire sur la même variable ? dans la boucle ce n'est pourtant une variable locale ?
et je suis obligé de mettre le set f="" (ligne 2) sinon cette variable n'est jamais vidée. et meme si j'ai essayé c'est toujours le dernier fichier qui est ajouté.
Merci