Extraction de ligne de plusieurs fichier texte en batch [Fermé]

- - Dernière réponse :  Ark4nox - 11 sept. 2014 à 09:31
Bonjour,

ma question est simple, j'ai besoin d'extraire une ligne précise de plusieurs fichiers texte et de stocker le résultat dans un autre fichier texte séparer par une virgule.

Voila le code que j'ai, mais le problème est qu'il me retourne uniquement la ligne du dernier fichier traité.

for /F "skip=5 delims=: tokens=1" %%a in ('type t*.lds') do echo %%a > result.txt

Dans l'attente d'une réponse
merci
Afficher la suite 

2 réponses

Messages postés
18485
Date d'inscription
lundi 26 novembre 2007
Statut
Contributeur
Dernière intervention
7 décembre 2019
2837
0
Merci
Slt

Ça te crée à chaque fois un fichier result.txt qui écrase le précédent.

Mets >> result.txt au lieu de > result.txt

Ça ajoutera les résultats au fichier txt
Pour mes test, les 2 fichier lds sont comme ça :
1
2
3
4
5
6

Après la modif, le résultat est comme ça :

61
2
3
4
5
6

Donc, il n'y a pas de séparation par une virgule, puis il récupère toutes les lignes du deuxième fichier.
dubcek
Messages postés
17959
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
7 décembre 2019
4521 -
hello
quel doit être le résultat ? 6,6 ?
oui, j'aimerais que le résultat soit sous la forme 6,6
Messages postés
17959
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
7 décembre 2019
4521
0
Merci
essayer
@echo off
setlocal enabledelayedexpansion
set r=
for %%a in (t*.lds) do (
for /F "skip=5 delims=: tokens=1" %%b in (%%a) do set r=%%b,!r!
)
set r=!r:~0,-1!
echo !r!
Ca marche sur mes test mais pas sur les fichiers en question, les fichier ressemble a ça :

<LDS001>
<idx nb=11>

01/09/2014

2186137
SOCIETE





https://logiciel.societe.com/OBJ/FW.ASP?T=DUP&ID=1404337Vut6yrxAnlRMv3K
<stamp nb=11>

01/09/2014

2186137
SOCIETE





https://logiciel.societe.com/OBJ/FW.ASP?T=DUP&ID=1404337Vut6yrxAnlRMv3K

En résultat, il me met toutes les phrase bout a bout, j'aimerais récupérer juste le chiffre au dessus de "SOCIETE", dans l'exemple c'est 2186137. Le problème vient du skip, mais je ne connait pas d'autre alternative.

Merci beaucoup
dubcek
Messages postés
17959
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
7 décembre 2019
4521 -
skip saute 5 lignes mais continue après, de plus for ignore les lignes vides,
avec un compteur à la place de skip et avec ligne=4 à cause des lignes vides
@echo off
setlocal enabledelayedexpansion
set ligne=4
set r=
for %%a in (f*.txt) do (
set c=1
for /F "delims=: tokens=1" %%b in (%%a) do (
if !c! EQU %ligne% set r=%%b,!r!
set /a c+=1
)
)
set r=!r:~0,-1!
echo !r!
Merci ça marche nickel. Vous êtes super ^^