Bonjour a tous
J'ai le resultat d'une commande qui a cette tronche là:
Code :
- DeviceNo Board Bus ScsiID LUN DeviceType InquiryData
- -----------------------------------------------------------
- 0 1 0 0 0 258(CDROM) MITSUMI CD
- 1 4 0 6 0 64 ESG-SHV SCA
- 2 4 2 0 0 2 (HDD) MYLEX Acc
- 3 4 4 6 0 64 MYLEX GAM
- 4 5 0 0 0 6 plop
- 5 5 0 1 0 6 plop1
- 6 5 0 2 0 6 plop2
- 7 5 0 3 0 6 plop3
- 8 5 0 4 0 6 truc
- 9 5 0 5 0 6 truc1
|
Je parcours ce resultat avec un :
Code :
- for /f "usebackq skip=2 tokens=2,* delims= " %a in (`commande.exe`) do (echo "Board : %a, Bus : %b, ScsiID : %c, LUN : %d, DeviceType : %e, DeviceType : %f" )
|
Mon problème que les token n°2 est bien le "Board" mais le token n°3 contient le reste de la ligne (et même avec un "tokens=2,3,4,5" ). J'en viens a me dire que c'est parce que le delims=" " n'est pas respecté en fait.
D'ou ma question, y aurait-il un moyen de forcer la substitution de séries d'espace en un seul espace .
un genre de "sed -e 's/ */ /' " ?
Merci a tous