Enregistrer le résultat d'une commande

Enregistrer le résultat d'une commande - Shell/Batch - Programmation

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.

Reply

Marsh Posté le 09-01-2007 à 22:57:17   

Reply

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.

Reply

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"

Reply

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 :
  1. for ... do (
  2. call :process %%i
  3. )
  4. goto :eof
  5. :process
  6. echo %1
  7. goto :eof


 
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 :)


Message édité par wackevat le 10-01-2007 à 21:43:14
Reply

Sujets relatifs:

Leave a Replay

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