Supprimer des lignes identiques avec un bat
galelitobzh
Messages postés
1
Statut
Membre
-
dubcek Messages postés 19021 Statut Contributeur -
dubcek Messages postés 19021 Statut Contributeur -
Bonjour,
je cherche à supprimer des lignes répétées dans un fichier texte avec un batch
exemple fichier source:
QI-500801
48.30
2.6
P265GH
144.90
PX -891.8500, 2791.2449, -1201.8
QI-500801
48.30
2.6
P265GH
144.90
PX -595.7123, 2495.1071, -1201.8
QI-500801
48.30
2.6
P265GH
144.90
PX -122.1359, 2495.1071, -1201.8
Résultat souhaité:
QI-500801
48.30
2.6
P265GH
144.90
PX -891.8500, 2791.2449, -1201.8
PX -595.7123, 2495.1071, -1201.8
PX -122.1359, 2495.1071, -1201.8
Merci
je cherche à supprimer des lignes répétées dans un fichier texte avec un batch
exemple fichier source:
QI-500801
48.30
2.6
P265GH
144.90
PX -891.8500, 2791.2449, -1201.8
QI-500801
48.30
2.6
P265GH
144.90
PX -595.7123, 2495.1071, -1201.8
QI-500801
48.30
2.6
P265GH
144.90
PX -122.1359, 2495.1071, -1201.8
Résultat souhaité:
QI-500801
48.30
2.6
P265GH
144.90
PX -891.8500, 2791.2449, -1201.8
PX -595.7123, 2495.1071, -1201.8
PX -122.1359, 2495.1071, -1201.8
Merci
A voir également:
- Supprimer des lignes identiques avec un bat
- Supprimer rond bleu whatsapp - Guide
- Creer un fichier .bat - Guide
- Supprimer page word - Guide
- Impossible de supprimer un fichier - Guide
- Supprimer pub youtube - Accueil - Streaming
4 réponses
Tien tu peux faire un truc comme ça:
Bilou.
@echo off
setlocal enableDelayedExpansion
set ligneNbr=1
for /f "delims=""" %%i in ('type "In.txt"') do (
set copie=1
if not exist "Out.txt" echo %%i>>Out.txt
for /f "delims=""" %%j in ('type "Out.txt"') do if %%j==%%i set copie=0
if !copie!==1 echo %%i>>Out.txt)
pause
Bilou.
Au passage la ligne set ligneNbr=1 ne sert a rien, c'est parce que j'étais partie sur un truc au début.
Ce qui donne:
Bilou.
Ce qui donne:
@echo off
setlocal enableDelayedExpansion
for /f "delims=""" %%i in ('type "In.txt"') do (
set copie=1
if not exist "Out.txt" echo %%i>>Out.txt
for /f "delims=""" %%j in ('type "Out.txt"') do if %%j==%%i set copie=0
if !copie!==1 echo %%i>>Out.txt)
pause
Bilou.