rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[Batch] Extraction chaîne de caractères

Posté par jejeTech, le vendredi 2 juin 2006 à 09:34:27
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
Répondre à jejeTech  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Pool Orion, le vendredi 2 juin 2006 à 09:42:02
Et quel est le problème ?
Pool Orion
Répondre à Pool Orion

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jejeTech, le vendredi 2 juin 2006 à 09:53:39
le problème c'est que la ligne suivante "FOR /F "eol=: tokens=1 " %i in temp2.txt do @echo %i " ne fonctionne pas afin d'extraire le chiffre "4162" de la ligne "1:4162".

La commande dos FOR ne marche pas tel quel est présentée, j'aurai voulu un avis de quelqu'un qui connait bien cette commande afin d'arriver à mon objectif.

Merci
Répondre à jejeTech

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Pool Orion, le vendredi 2 juin 2006 à 10:05:29
Je ne comprend pas pourquoi tu renseignes que le caractère de fin de ligne est ':' avec 'eol'.

Tu devrais renseigner le colon comme délimiteur. De plus, tu devras récupérer deux résultat -> 1 et 4162.
Pool Orion
Répondre à Pool Orion

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jejeTech, le vendredi 2 juin 2006 à 10:30:27
J'ai trouvé cette commande en cherchant sur INTERNET, j'ai essayé de l'adapter à mon script mais je ne comprends pas tout dans les paramètres de FOR.

Je n'arrive pas à saisir comment extraire le chiffre "4162" de ma ligne en utilisant la délimitation ":" avec FOR.

Est-ce-que tu peux m'aider à comprendre cette commande ?

Merci
Répondre à jejeTech

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Pool Orion, le vendredi 2 juin 2006 à 10:55:47
La fonction FOR permet d'exécuter une boucle sur, par exemple, les enregistrements d'un fichier.
Le fichier à lire doit être renseigné après le 'IN'
Les paramètres dont tu as besoin sont tokens -> liste des zones à récupérer et delims -> délimiteur de tes zones.

Je pense que la structure la plus appropriée dans ton cas est la suivante :

FOR /F "tokens=1,2 delims=:" %%i in (temp2.txt) do ...

Suivant ton exemple, tu devrais avoir ensuite i -> 1 et j (la lettre suivante) = 4162

PS: sur certaine version de dos, il n'est pas possible d'exécuter d'appel à une procédure dans le do, il faut essayer si tu en a vraiment besoin.
Pool Orion
Répondre à Pool Orion

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jejeTech, le vendredi 2 juin 2006 à 11:18:57
J'ai essayé dans mon script avec ceci :

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


Je voudrais tester avec l'affichage mais cela ne marche pas. Peut-être que j'ai mal codé ma ligne avec echo.

Dans l'exécution du fichier batch je ne vois pas l'affichage de ma variable %j.

??
Répondre à jejeTech

7


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
Pool Orion, le vendredi 2 juin 2006 à 11:40:26
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
Pool Orion
Répondre à Pool Orion

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ga1841, le jeudi 3 mai 2007 à 09:50:42
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
Répondre à ga1841

13


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
xed, le jeudi 30 août 2007 à 09:59:49
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.
Configuration: Windows 2000
Firefox 2.0.0.6
Répondre à xed

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jejeTech, le vendredi 2 juin 2006 à 11:58:23
Merci bien ca marche.

C'est cool. Tu est un pro !!

Salut et @+
Répondre à jejeTech

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mansour79, le jeudi 19 octobre 2006 à 14:19:39
Bonjour tous le monde, voila je suis debutant dans le pl|sql, j'ai un travail note a rendre la semaine prochaine .
le probleme est le suivant : utilise pl|sql et le c pour arrive a extraitre une chaine de caractere depuis un fichier.txt.
exemple lire un fichier html ou c note tous les auteurs avec leurs revus, ville, etc , il faut a ppelle une fonction c avec pl |sql pour lire ce fichier et remplire les table , auteur, revus, ville...
j'espere trouve une piste pour resourdre ca.
merci bien.
Répondre à mansour79

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
bobthefox, le mercredi 8 novembre 2006 à 15:33:39
mansour79 :
voici une piste pour ton devoir ==> change de forum... ^^
tu pourras trouver des réponses sur les forums consacrés au PL/SQL je pense (ou au C)
bon courage
Répondre à bobthefox

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
alexkidd, le mercredi 30 mai 2007 à 16:06:46
Bonjour je suis un debutant sur le script unix et je souhaiterais savoir comment se nomme et s'utilise la fonction qui permet d'extraire une sous chaine sous linux sachant que la chaine est dans une variable j'ai fais :

cat $fichier >>SUBSTR($fichier,1,10)||".fic"

mais ca ne marche pas !!
Help me !!!
Répondre à alexkidd

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
1223, le mercredi 27 février 2008 à 13:14:23
bonjour
voici

@echo off
for /L %%A IN (1,1,50) do (PING -n 1 -w 5 192.168.1.%%A | find "TTL" | cscript //B convert.vbs)>> text.txt
for /f "tokens=1,2 delims=:" %%a in (text.txt) do (echo %%a >> text1.txt)
for /f "tokens=3" %%a in (text1.txt) do (echo %%a ) >> text2.txt
TYPE text2.txt
je voudrais exploiter les résultats enregistrés au fichier text2.txt "adresse ip",le probléme c'est ce que ces adresses sont terminés par un "ÿ" exemple 192.168.1.3ÿ et quand je fais par exemple un ping pour tester"for /f %%a in (text2.txt) do (ping %%a )",il ne donne rien " il ne connait pas le host"
for /f %%a in (text2.txt) do (ping %%a )
et quand j'affiche le contenu du fichier text2.txt,il me donne juste adresse ip

si possible avoir réponse

Merci d'avance de votre aide
Répondre à 1223

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 batikha, le vendredi 13 juin 2008 à 15:11:17
bonjour, je n'arrive pas a resoudre le probleme suivant:

Ecrire une procédure en PL/SQL qui fait passer un texte en paramètre ;
Et il doit détermine :
- Les doubles lettres (minuscules) apparues dans le texte (exemple : ss, mm, ll, etc.).
- Le nombre de phrases (séparée par un point).



pouvez vous m'aider s'il vous plait?? c'est urgent

Merci a+
Répondre à batikha
Logiciels pertinents trouvés dans les téléchargements
Télécharger Extracteur d'icônes 3.1.0.9Extracteur d'icônes - Le programme Extracteur d'Icônes permet de visualiser les fichiers icônes (ICO) du dossier de votre choix, mais aussi de...Catégorie: Librairies (DLL)
Licence: Freeware/gratuit
Télécharger Ant Renamer 2.10.0Ant Renamer - ANT Renamer permet de renommer un grand nombre de fichiers et dossiers en quelques clics. Il ne fait que modifier les noms...Catégorie: Gestion de fichiers
Licence: Freeware/gratuit
Télécharger Universal Extractor 1.5Universal Extractor - Universal Extractor est un outil dont le but est de pouvoir extraire n'importe quel fichier de n'importe quelle archive,...Catégorie: Compression/Décompression
Licence: Freeware/gratuit
Télécharger MediaCoder 0.6.1.4150MediaCoder - <h2>Avant propos</h2> Afin de profiter de la version n°4150, vous devez en premier lieu télécharger la version n°4140...Catégorie: Edition vidéo
Licence: Open Source
Plus de logiciels gratuits sur « [Batch] Extraction chaîne de caractères »