Rechercher : dans
Par :

Batch :insérer une ligne dans un fichier text

Dernière réponse le 1 nov 2009 à 06:32:07 shetan, le 8 jui 2009 à 11:14:53 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « Batch :insérer une ligne dans un fichier text » dans :
Sed - Insertion de texte VoirInsérer du texte dans un fichier Introduction Syntaxe Ajout de texte Insérer une ligne avec "i" Ajouter une ligne avec "a" Échanger une ligne avec "c" Introduction Il est parfois utile de pouvoir insérer du texte en en-tête d'un ou...
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
Sed - Supprimer une ou plusieurs lignes d'un fichier VoirSupprimer une (ou plusieurs) ligne(s) d'un fichier Syntaxe sed '{[/]||[/]}d' sed '{[/][,][/]d' /.../ = délimiteurs n = le numéro de ligne chaîne = la chaîne contenue dans la...
LaTeX - Insertion d'images VoirStyle LaTeX permet d'insérer des images de différents formats. Le plus simple est d'insérer des fichiers de type eps (Encapsuled Postscript) : Il suffit d'insérer dans le préambule la ligne suivante : \usepackage{graphicx} Puis d'insérer...
Ouverture d'un fichier VoirOuverture d'un fichier existant crée avec le même logiciel Il existe fondamentalement deux méthodes pour ouvrir un fichier sous Windows : Choisissez dans le menu du logiciel concerné Fichier > Ouvrir et naviguez jusqu’au fichier concerné dans la...

1

shetan, le 8 jui 2009 à 11:33:42

Personne ?

Répondre à shetan

2

Thyarflam, le 1 nov 2009 à 06:29:48

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

Répondre à Thyarflam

3

 Thyarflam, le 1 nov 2009 à 06:32:07

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é :-)

Répondre à Thyarflam