Batch :insérer une ligne dans un fichier text

shetan Messages postés 626 Statut Membre -  
 Thyarflam -
Bonjour,

J'aimerais savoir comment l'on peut ajouter une ligne de texte au milieu d'un fichier .txt.
Je sais que :

echo Mon Texte >> fichier.txt

Ajoute à la fin du fichier mais j'ai besoin d'inserer une ligne dans un de mes paragraphes.
Configuration: Windows XP
Firefox 3.0.11

3 réponses

  1. shetan Messages postés 626 Statut Membre 62
     
    Personne ?
    2
  2. Thyarflam
     
    Y a pas plus simple
    Tu fait une boucle est tu compte jusqu'à la ligne où tu veux t'arrêter.

    Exemple :
    set /a a1=0
    set /a a2=0
    set /a tmp=100
    Rem La procédure va se finir à 100
    goto maboucle
    
    :maboucle
    set /a a1=a1+1
    if %a1% GTR %tmp% goto suite
    REM Lit le fichier est entre les données dans un fichier tmp1 jusqu'à la ligne %tmp%
    for /f "tokens=%a1% delims=;" %%G IN (MonFichier.txt) DO set msg="%%G"
    @echo %msg% >> tmp1.txt
    goto maboucle
    
    :suite
    cls
    set /a a2=a2+1
    set /a a3=a2+1
    REM Continue la lecture jusqu'à ce que les 2 mots sois identique (Fin du programme !)
    for /f "tokens=%a2% delims=;" %%G IN (MonFichier.txt) DO set msg="%%G"
    for /f "tokens=%a2% delims=;" %%G IN (MonFichier.txt) DO set msg2="%%G"
    if %msg%==%msg2% goto fin
    @echo %msg%  >> tmp2.txt
    goto maboucle
    
    :fin
    cls
    @echo Mon message >> tmp1.txt
    type tmp1.txt > MonFichier.txt
    type tmp2.txt >> MonFichier.txt
    REM Recalcule le fichier pour qu'il sois identique qu'au départ
    cls
    @echo Le traitement est finis
    pause>nul
    exit


    @++ J'espère que tu auras lu le message et bonne chance
    0
  3. Thyarflam
     
    Oups j'ai fauter !

    Dans la partie suite à la fin :
    @echo %msg%  >> tmp2.txt
    goto maboucle
    


    Tu remplace par :
    @echo %msg%  >> tmp2.txt
    goto suite
    


    Normalement il fonctionne (J'ai pas testé :-)
    0