Inserer une ligne dans un fichier en batch.

vicondore Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je suis un débutant en programmation et je n'arrive pas à terminer ma programmation.

Je souhaite insérer une ligne numéro N depuis un fichier A.txt dans un fichier B.txt à la même position N.

J'ai réussi à récupérer les informations et numéro de ligne depuis le fichier A.txt mais je ne sais pas comment l'inserer dans le fichier B.txt.

Si quelqu'un a une idée je suis preneur. Voici le code :

setlocal enabledelayedexpansion
set compteur=1
for /f %%i in ('type A.txt') do (
echo %%i|find "GPS" > nul && echo %%i>>result.txt
set /A compteur+=1
)
echo compteur : !compteur!


Ce petit programme recherche les lignes comportant le mot 'GPS' dans A.txt et copie la ligne trouvée dans result.txt. compteur est le numéro de ligne.

1 réponse

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    si j'ai tout compris, on prend la ligne qui contient GPS dans le fichier a.txt, la ligne 3 et on remplace la ligne 3 du fichier b.txt
    C:> type a.txt
    aa
    bb
    GPS-A
    cc
    dd
    C:> type b.txt
    111
    222
    333
    444
    555
    C:> cc
    111
    222
    GPS-A
    444
    555
    C:> type cc.bat
    @echo off
    setlocal enabledelayedexpansion
    set compteur=1
    for /f %%i in ('type A.txt') do (
    echo %%i|find "GPS" > nul && (set l=%%i&set c=!compteur!)
    set /A compteur+=1
    )
    set compteur=1
    for /f %%i in ('type b.txt') do (
    if !compteur! EQU %c% ( echo %l%) else ( echo %%i)
    set /A compteur+=1
    )
    0