[Batch] lister première ligne fichiers txt
Résolu
danieliiitooo
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
-
danieliiitooo Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
danieliiitooo Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Ci-dessous ma problématique:
Soit "Test" un répertoire contenant X fichiers .txt (X peut être 5,10,54...)
Chaque fichier contient une ligne de texte de la sorte
AAAAAAAA BBBBBBBBBB CCCCCCCCCC
Je souhaiterai, via batch, lister le contenu de ces fichiers dans un seul et unique fichier txt
AAAAAAAA BBBBBBBBBB CCCCCCCCCC
AAAAAAAA BBBBBBBBBB CCCCCCCCCC
AAAAAAAA BBBBBBBBBB CCCCCCCCCC
AAAAAAAA BBBBBBBBBB CCCCCCCCCC
....
Je pourrais alors exploiter son contenu à ma guise via fonction "for".
J'ai tenté la manipe suivante:
@echo off
Set path=Test
set /a nb_of_files=0
if exist "%path%\*.*" for /f "delims=" %%a in ('dir /-D /B "%path%\*.*"') do (
set /a nb_of_files+=1
Set /P File_content= <%path%\%%a
echo %File_content%>>log.txt
)
echo %nb_of_files% files have been loaded
pause
Le résultat est un peu à côté de la plaque:
ECHO is off.
ECHO is off.
ECHO is off.
Pourtant %%a correspond bien aux noms des fichiers successifs mais il y a un truc qui cloche.
On dirait que mon batch ne parvient pas à charger la première ligne des fichiers dans la variable File_content
Pouvez me dire comment y arriver ?
Merci d'avance,
Daniel
Ci-dessous ma problématique:
Soit "Test" un répertoire contenant X fichiers .txt (X peut être 5,10,54...)
Chaque fichier contient une ligne de texte de la sorte
AAAAAAAA BBBBBBBBBB CCCCCCCCCC
Je souhaiterai, via batch, lister le contenu de ces fichiers dans un seul et unique fichier txt
AAAAAAAA BBBBBBBBBB CCCCCCCCCC
AAAAAAAA BBBBBBBBBB CCCCCCCCCC
AAAAAAAA BBBBBBBBBB CCCCCCCCCC
AAAAAAAA BBBBBBBBBB CCCCCCCCCC
....
Je pourrais alors exploiter son contenu à ma guise via fonction "for".
J'ai tenté la manipe suivante:
@echo off
Set path=Test
set /a nb_of_files=0
if exist "%path%\*.*" for /f "delims=" %%a in ('dir /-D /B "%path%\*.*"') do (
set /a nb_of_files+=1
Set /P File_content= <%path%\%%a
echo %File_content%>>log.txt
)
echo %nb_of_files% files have been loaded
pause
Le résultat est un peu à côté de la plaque:
ECHO is off.
ECHO is off.
ECHO is off.
Pourtant %%a correspond bien aux noms des fichiers successifs mais il y a un truc qui cloche.
On dirait que mon batch ne parvient pas à charger la première ligne des fichiers dans la variable File_content
Pouvez me dire comment y arriver ?
Merci d'avance,
Daniel
A voir également:
- [Batch] lister première ligne fichiers txt
- Fichier batch - Guide
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Renommer des fichiers en masse - Guide
- Fichiers epub - Guide
4 réponses
hello
tu veux copier tout le fichier ou une seule ligne de chaque fichier ?
et avec
copy *.txt destination.txt
tu veux copier tout le fichier ou une seule ligne de chaque fichier ?
et avec
copy *.txt destination.txt
Merci Dubcek,
Je ne souhaite récupérer que la première ligne (Chaque fichier contient une seule et unique ligne formattée de la même manière)
Malheureusement, la commande copy test\*.* destination.txt copie les données en vrac dans le fichier destination.txt.
Celles-ci sont alors inexploitable via fonction for.
Je ne souhaite récupérer que la première ligne (Chaque fichier contient une seule et unique ligne formattée de la même manière)
Malheureusement, la commande copy test\*.* destination.txt copie les données en vrac dans le fichier destination.txt.
Celles-ci sont alors inexploitable via fonction for.