Batch :insérer une ligne dans un fichier text

Fermé
shetan Messages postés 611 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 19 août 2009 - 8 juil. 2009 à 11:14
 Thyarflam - 1 nov. 2009 à 06:32
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.
A voir également:

3 réponses

shetan Messages postés 611 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 19 août 2009 62
8 juil. 2009 à 11:33
Personne ?
2
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
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