[Résolu]Supprimer la dernière ligne d'un fichier txt
Posté : 16 mars 2012 18:26
Bonjour,
Je cherche à trouver la commande qui me permet de supprimer la dernière ligne d'un fichier .txt, sachant que la dernière ligne s'écrit toujours : "}" mais :
- il y a plusieurs ligne dans mon txt qui s'écrivent ainsi (les 4 dernières,
- il n'y a jamais le même nombre de ligne dans mes txt.
Donc est-ce que je dois compter le nombre de ligne dans chaque fichiers txt (une 30aine) afin de pouvoir leur supprimer la dernière ligne en la désignant ? Et si oui je sais pas non plus comment faire)
voilà ce que j'ai fait mais la dernière boucle ne marche pas du tout:
Ou est-ce qu'il existe une commande simple pour supprimer la dernière ligne quelle que soit la longueur du fichier ?
Merci
Je cherche à trouver la commande qui me permet de supprimer la dernière ligne d'un fichier .txt, sachant que la dernière ligne s'écrit toujours : "}" mais :
- il y a plusieurs ligne dans mon txt qui s'écrivent ainsi (les 4 dernières,
- il n'y a jamais le même nombre de ligne dans mes txt.
Donc est-ce que je dois compter le nombre de ligne dans chaque fichiers txt (une 30aine) afin de pouvoir leur supprimer la dernière ligne en la désignant ? Et si oui je sais pas non plus comment faire)
voilà ce que j'ai fait mais la dernière boucle ne marche pas du tout:
Code : Tout sélectionner
rem supprimer la dernière ligne de fichier.txt:
REM compter le nombre de ligne d'un fichier.txt
REM On utilise une boucle for, que l'on va coupler avec les commandes Type pour lire le fichier.txt
REM et Set /a pour compter le nombre de retours chariot:
for /f "delims=" %%i in ('type fichier.txt') do set /a C+=1
REM Me retourne le nombre correct de lignes:
echo %C% lignes
REM SAUVEGARDE dans un fichier txt temporaire:
if exist fichier1.txt del fichier1.txt
REM Ne marche plus
for /f "tokens=1* delims=" %%i in (fichier.txt) do (
if not %%iGEQ %C% (
echo ll >> fichier1.txt
echo %%j
)
)
Merci