[ Batch ] Retrier un fichier txt
Résolu/Fermé
cs-bilou
Messages postés
769
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
24 février 2011
-
27 févr. 2009 à 00:06
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 - 28 févr. 2009 à 18:08
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 - 28 févr. 2009 à 18:08
A voir également:
- [ Batch ] Retrier un fichier txt
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier batch - Guide
- Ouvrir un fichier .bin - Guide
9 réponses
dubcek
Messages postés
18757
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
19 décembre 2024
5 623
27 févr. 2009 à 09:17
27 févr. 2009 à 09:17
hello
avec gawk version Windows de cet outil Unix : http://unxutils.sourceforge.net/
C:\>type f1.txt
1.Patate
3.Poirot
4.Asperge
5.Jambon
C:\>gawk -F"." " {print NR \".\" $2}" < f1.txt
1.Patate
2.Poirot
3.Asperge
4.Jambon
avec gawk version Windows de cet outil Unix : http://unxutils.sourceforge.net/
C:\>type f1.txt
1.Patate
3.Poirot
4.Asperge
5.Jambon
C:\>gawk -F"." " {print NR \".\" $2}" < f1.txt
1.Patate
2.Poirot
3.Asperge
4.Jambon
cs-bilou
Messages postés
769
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
24 février 2011
164
27 févr. 2009 à 15:58
27 févr. 2009 à 15:58
Ouai mais je l'aurais voulue en batch si c'est possible.
cs-bilou
Messages postés
769
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
24 février 2011
164
27 févr. 2009 à 16:56
27 févr. 2009 à 16:56
Bon au bout de 3h de recherche j'ai fini par trouver tout seul.
Voila le script:
Pour le "delims=1.,2.,3.,4.,5.,6.,7.,8.,9.,10." je sais c'est pas très propre mais vus que moi mon fichier s'arrête juste a 10.
Si pour vous non, je vous laisse trouver une solution tout seul ^^
Google est votre amis
Si sa peut aider quelqu'un.
Voila le script:
@echo off set nbr=0 setlocal enableDelayedExpansion FOR /F "delims=1.,2.,3.,4.,5.,6.,7.,8.,9.,10." %%i in ('type text.txt') do ( set /a nbr=!nbr! + 1 echo !nbr!.%%i >> text.txt ) setlocal disableDelayedExpansion pause
Pour le "delims=1.,2.,3.,4.,5.,6.,7.,8.,9.,10." je sais c'est pas très propre mais vus que moi mon fichier s'arrête juste a 10.
Si pour vous non, je vous laisse trouver une solution tout seul ^^
Google est votre amis
Si sa peut aider quelqu'un.
dubcek
Messages postés
18757
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
19 décembre 2024
5 623
28 févr. 2009 à 07:20
28 févr. 2009 à 07:20
tu peux généraliser la boucle for comme ça:
for /F "tokens=2 delims=." %%i in (text.txt)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
cs-bilou
Messages postés
769
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
24 février 2011
164
28 févr. 2009 à 16:01
28 févr. 2009 à 16:01
Merci mais peut tu m'expliquer le rôle de :
- tokens=
- delims=
Merci.
- tokens=
- delims=
Merci.
dubcek
Messages postés
18757
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
19 décembre 2024
5 623
28 févr. 2009 à 16:06
28 févr. 2009 à 16:06
delims=. c'est le point qui est le séparateur de champ
token=2 on affiche que le deuxième champ, le premier étant le chiffre
tu trouves les détails dans l'aide Windws
delims=xxx Spécifie un jeu de séparateur. Celui-ci remplace le jeu de délimiteur par défaut constitué de l'espace et de la tabulation.
tokens=x,y,m-n Spécifie les jetons de chaque ligne qui doivent être passés au corps de la commande for pour chaque occurrence. Par conséquent, les noms de variables supplémentaires sont alloués. La forme m-n est une plage qui spécifie le mième au nième jetons. Si le dernier caractère de la chaîne tokens= est un astérisque (*), une variable supplémentaire est allouée pour recevoir le texte restant de la ligne après le dernier jeton analysé.
token=2 on affiche que le deuxième champ, le premier étant le chiffre
tu trouves les détails dans l'aide Windws
delims=xxx Spécifie un jeu de séparateur. Celui-ci remplace le jeu de délimiteur par défaut constitué de l'espace et de la tabulation.
tokens=x,y,m-n Spécifie les jetons de chaque ligne qui doivent être passés au corps de la commande for pour chaque occurrence. Par conséquent, les noms de variables supplémentaires sont alloués. La forme m-n est une plage qui spécifie le mième au nième jetons. Si le dernier caractère de la chaîne tokens= est un astérisque (*), une variable supplémentaire est allouée pour recevoir le texte restant de la ligne après le dernier jeton analysé.
cs-bilou
Messages postés
769
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
24 février 2011
164
28 févr. 2009 à 17:27
28 févr. 2009 à 17:27
OK merci j'avais déjà lu l'aide de windows mais sa ne m'avais pas aider.
Alors que avec tes explication j'ai tout compris.
Merci beaucoup car avant je faisais un peu au piff.
xD
Merci.
Alors que avec tes explication j'ai tout compris.
Merci beaucoup car avant je faisais un peu au piff.
xD
Merci.
dubcek
Messages postés
18757
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
19 décembre 2024
5 623
28 févr. 2009 à 17:31
28 févr. 2009 à 17:31
ton truc avec setlocal enableDelayedExpansion et les ! dans set /a nbr=!nbr! + 1 est bon parce qu'on ne trouve rien dans l'aide Windows
cs-bilou
Messages postés
769
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
24 février 2011
164
28 févr. 2009 à 18:08
28 févr. 2009 à 18:08
Ouai j'ai beaucoup galère a le trouver ^^.