Flux rss
Collection CommentÇaMarche.net
Rechercher : dans
Par :

[Batch] Extraction chaîne de caractères

jejeTech, le vendredi 2 juin 2006 à 09:34:27 
 Signaler ce message aux modérateurs

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

1

Pool Orion, le vendredi 2 juin 2006 à 09:42:02
  • +1

Et quel est le problème ?
Pool Orion

Répondre à Pool Orion

2

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

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

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

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

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

Pool Orion, le vendredi 2 juin 2006 à 11:40:26
  • +1

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

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

xed, le jeudi 30 août 2007 à 09:59:49
  • +1

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

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

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

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

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

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

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

16

allo, le lundi 25 août 2008 à 12:30:24

Si Chaine = abcdefg

substring(Chaine,3,2) = cd
substring(Chaine,2,4) = bcde

Répondre à allo

17

jesaispu, le mercredi 5 novembre 2008 à 19:28:10

Logique

Répondre à jesaispu

18

 sebj9, le lundi 15 juin 2009 à 17:46:39

Bonjour,

Je cherche à extraire d'un fichier txt un bou d'une ligne pour le remplacer dans mon script ensuite. C'est la ligne 5 qui vaut : "Home Directory"="C:\\Program Files\\Symantec AntiVirus\\" et je veux extraire "C:\\Program Files\\Symantec AntiVirus".

Je sais qu'on peut utiliser la commande FOR MS-DOS mais je ne connais pas les paramétrés à rentrer.

Cordialement

SEBJ

Répondre à sebj9
Extraction chaine access Bonjour, je travail sur un SGBDR et j'aimerai savoir comment je peux faire une extraction de chaîne de caractères sous Access; je veux mettre en référence de dossier les 3 premières lettres du nom du client-suivi des 3 premières lettre du prénom exp:... www.commentcamarche.net/forum/affich-5995159-extraction-chaine-access
Extraction chaine caractères batch bonjour, je commence en bash et g un problème pour extraire des caractères dans une chaine.ça se présente comme suit et je veux récupérer offset 2.615.si ya bien quelqu'un ki voudrait m'aider ce serait cool.merci remote refid st t when poll reach... www.commentcamarche.net/forum/affich-3488898-extraction-chaine-caracteres-batch
Algo comparaison chaine caractères A ~ B Bonjour, Je me demandais s'il existait une algorithme permettant de comparer 2 chaines de caracteres presque identique. genre: st equivalent equivale => identique à x% equava => identique à y% st_quivaent => identique à z% Merci www.commentcamarche.net/forum/affich-11271224-algo-comparaison-chaine-caracteres-a-b
Les guillemets, apostrophes et les chaînesComment jouer avec les guillemets et les apostrophes dans les chaînes 1. Préambule 2. Éviter une coupure dans la chaîne 3. Ajouter un guillemet dans la chaîne 3.1 Avec l'apostrophe 3.2 Avec l'ASCII 3.3 Directement 3.3.1 Méthode... www.commentcamarche.net/faq/sujet-13095-les-guillemets-apostrophes-et-les-chaines
Diviser chaine caractere excel (Résolu)Bonjour, Je cherche une fonciton dans Excel qui me permet de diviser cette chaine caractere 27.03.2008 08:56:00; 03.04.2008 11:53:00; 10.04.2008 12:24:00 dans trois cellule différentes par exemple ici A1, A2, A3 A1= 27.03.2008 (ou A1= 27.03.2008... www.commentcamarche.net/forum/affich-6317967-diviser-chaine-caractere-excel
[Shell] Extraction chaîne caractèreBonjour à tous, j'ai un fichier fic.txt dans lequel j'ai une ligne telle que celle-ci : 7894122;;ALL;192007;192007;P;A;192008 J'aurai besoin de récuperer le caractère 'P', afin de le mettre dans une variable et faire des tests par la suite. J'ai... www.commentcamarche.net/forum/affich-6600177-shell-extraction-chaine-caractere
PHP et chaine de caractereBonjour, Petites questions sur les chaine de caratere: je voudrais savoir s'il est possible de couper une chaine de caractere. Par exemple j'ai une variable $truc="Hello the world" et je voudrais recuperer les 4 premieres lettres à savoir "Hell". En... www.commentcamarche.net/forum/affich-33672-php-et-chaine-de-caractere
Javascript - Les chaînes de caractèresQu'est-ce qu'une chaîne de caractère Une chaîne de caractère est, comme son nom l'indique, une suite de caractères. On la représente par la suite de caractères encadrée par des guillemets simples (') ou doubles ("), sachant que les deux types de... www.commentcamarche.net/contents/javascript/jschar.php3
VBScript - Les fonctions de chaînes de caractèresLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes... www.commentcamarche.net/contents/vbscript/vbs-fonctions-chaines-caracteres.php3
Les chaînes de caractères en C++Qu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une... www.commentcamarche.net/contents/cpp/cppstring.php3