[Batch] Extraction chaîne de caractères

Résolu/Fermé
jejeTech Messages postés 83 Date d'inscription vendredi 6 janvier 2006 Statut Membre Dernière intervention 19 avril 2012 - 2 juin 2006 à 09:34
logon313 Messages postés 41 Date d'inscription mercredi 25 décembre 2013 Statut Membre Dernière intervention 2 novembre 2016 - 13 juil. 2016 à 16:09
Salut,

j'ai un problème avec la manipulation d'une chaîne de caractères. J'ai un fichier (temp2.txt) qui contient une chaîne de caractètes comme tel :

1:4162

La chose que je veux faire c'est d'extraire le chiffre "4162" afin de la placer dans une variable temporairement. J'utilise la commande FOR afin de réaliser ceci.

Voici la ligne qui doit me permettre de faire cette extraction :

FOR /F "eol=: tokens=1 " %i in temp2.txt do @echo %i


Merci d'avance de votre aide
A voir également:

15 réponses

Pool Orion Messages postés 124 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 15 juin 2007 55
2 juin 2006 à 11:40
Désolé, j'ai été obligé de chercher un peu aussi. Il faut utiliser les variables avec deux fois le signe %.

-->

pause
@echo off
FOR /F "tokens=1,2 delims=:" %%i in (temp2.txt) do @echo %%i et %%j
pause

donne le résultat 1 et 4162
20
ga1841 Messages postés 6 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 3 mai 2007 7
3 mai 2007 à 09:50
J'ai remarqué que tu maitrisé bien la commande FOR et j'ai un pb avec une ligne de comande FOR. Cette ligne est correcte car lancé seul dans l'invite de commande j'obtien le résultat voulu mais intégré au reste de mon script elle ne passe plu du tout. si tu connai la raison et la solution merci de me le faire savoir. Merci d'avance
0
xed > ga1841 Messages postés 6 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 3 mai 2007
30 août 2007 à 09:59
Bonjour,

Dans une boucle FOR quand tu lances directement la cmd, il y a 1 seul % devant ta varialbe, par exemple %i
Mais qd tu mets cette boucle dans un Batch, il faut y mettre 2 fois % donc %%i

Voilà tout.
0