Enregistrer le résultat d'une commande - Shell/Batch - Programmation
Marsh Posté le 09-01-2007 à 23:05:10
Si, la commande set dans une boucle fonctionne, mais ça dépend de comment tu réutilises la valeur après. Donc plus de descriptif serait le bienvenu. Tu peux poster un extrait plus complet de ton script par exemple.
Marsh Posté le 10-01-2007 à 17:15:14
voila, j'essai de retourner le résultat dans un fichier texte :
FOR /F "tokens=1,2 delims=: skip=3" %%i in ("initialestemp.txt" ) do set initmp = %%j
echo %j% > "initiales%username%.txt"
Marsh Posté le 10-01-2007 à 21:41:47
Alors il y a plusieurs choses :
- la variable j que tu utilises doit être appelée par %%j et non pas %j%
- elle n'est valable qu'à l'intérieur de la boucle for
- initmp prendra la valeur de la dernière j
- tu peux faire :
for ... do echo %%j>>"initiales%username%.txt"
non ?
Sinon, il y a l'histoire de l'expansion retardée des variables. Regarde l'aide de set
set /?
pour plus d'infos + exemples.
Perso dans ce cas, je préfère me simplifier la vie en utilisant des procédures. C'est-à-dire :
Code :
|
Il y a plusieurs façons d'employer des procédures, ci-dessus en est une.
Voilà, j'espère que ça t'aidera à avancer
Marsh Posté le 09-01-2007 à 22:57:17
Bonsoir,
j'aimerai sauvegarder le résultat d'une commande dans une variable afin de la réutiliser plus tard.
ma commande est la suivante :
for %i in (*.doc) do set var=%j
mais cela ne fontionne pas.
auriez-vous une piste ou alors un autre moyen que de mettre le résultat dans une variable d'environnement ?
merci d'avance.