Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1867 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Shell/Dos] Pipe dans une boucle FOR

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Shell/Dos] Pipe dans une boucle FOR

n°2118484
chico008
what the wookie says ?
Posté le 27-12-2011 à 19:54:15  profilanswer
 

Bonjour,  
 
Je rencontre un petit soucis.
Je cherche a assigner le resultat d'une commande dans une variable.
voici mes commandes de base

Code :
  1. D:\>%uxexe%\uxshw UPR UPR=ANCT120TRT | find "label"
  2.        | label        : ANADEFI - Traitement MAJ-Tiers.bat


 
Je cherche a recuperer juste le label donc
si j'essaie juste un  

Code :
  1. for /f %i in ('%uxexe%\uxshw UPR UPR=ANCT120TRT ^| find "label"') do echo %i


je n'ai aucun resultat, alors que je devrait au moins recuperer ma ligne de resultat non ?
 
au final je pense jouer avec les tokens (tokens=4-*) pour recuperer que le label final (ANADEFI-....)
mais deja la base, ca veut pas.
une idée ?


---------------
Serveur HFR - OpenTTD
mood
Publicité
Posté le 27-12-2011 à 19:54:15  profilanswer
 

n°2118504
Xspawn_Lpc
Posté le 28-12-2011 à 01:35:00  profilanswer
 

déjà le caractère | risque te poser des soucis.
 
Ensuite sans delim dans le for, il va utiliser les tabulations  pour séparer le texte en différentes chaines. Dans ton exemple %i ramène la 1ere chaine à priori "|"
 
 
Pour savoir ou tu en es tu peut faire un truc du style :
 

Code :
  1. for /f "token=*" %%i in ('%uxexe%\uxshw UPR UPR=ANCT120TRT ^| find "label"') do echo %%i %%j %%k %%l %%m


Message édité par Xspawn_Lpc le 28-12-2011 à 11:58:12

---------------
Quand on aime on ne compte pas. Quel Dilemme lorsque l'on aime compter !
n°2118529
chico008
what the wookie says ?
Posté le 28-12-2011 à 11:14:22  profilanswer
 

j'ai essayer avec un "tokens=* et delims=" ou juste delims ou juste token, dans tous les cas, j'ai pas de résultat :s


---------------
Serveur HFR - OpenTTD
n°2118534
Xspawn_Lpc
Posté le 28-12-2011 à 11:57:32  profilanswer
 

et si tu redirige le résultat dans un fichier ?

Code :
  1. D:\>%uxexe%\uxshw UPR UPR=ANCT120TRT | find "label" >result.txt


Et ensuite fait une boucle for qui parcours ce fichier ?

Code :
  1. for /f "token=*" %%i in (result.txt) do echo %i %%j %%k %%l %%m


testé sous win7 ça fonctionne même avec le "|"


Message édité par Xspawn_Lpc le 28-12-2011 à 11:57:54

---------------
Quand on aime on ne compte pas. Quel Dilemme lorsque l'on aime compter !
n°2118576
chico008
what the wookie says ?
Posté le 28-12-2011 à 16:16:35  profilanswer
 

Bah c'est ce que j'ai fait au final, ca ajoute une ligne de commande, mais au moins ca marche correctement.


---------------
Serveur HFR - OpenTTD

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Shell/Dos] Pipe dans une boucle FOR

 

Sujets relatifs
Mysql procedure stockee : boucle infinie[Shell/Unix] Tableaux
[Shell/Unix] Reactualisation de variable dans une boucle[BATCH] 2 boucles FOR imbriquées
[Shell Unix] Active trace exeuction dans les fonctions[Shell UNIX] Recherche dans une ligne
Le MS DOS ne se lance pas sous JCreator[Bash] comment terrompre une boucle par une saisie au clavier.
Pb avec shell_exec sous WinXP 
Plus de sujets relatifs à : [Shell/Dos] Pipe dans une boucle FOR


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR