Découper un fichier .txt en batch
Mael730
Messages postés
50
Statut
Membre
-
cs-bilou Messages postés 836 Statut Membre -
cs-bilou Messages postés 836 Statut Membre -
Bonjour,
Je suis novice en batch et je bloque sur un problème: j'ai un fichier .txt contenant un nombre quelconque de lignes (par exemple 135000) et j'aimerai spliter ce fichier en x fichiers portant le même nom +/- un chiffre (pour les différencier) contenant chacun 40 000 lignes.
Est-ce faisable en batch??
Merci d'avance
Cdlt
Je suis novice en batch et je bloque sur un problème: j'ai un fichier .txt contenant un nombre quelconque de lignes (par exemple 135000) et j'aimerai spliter ce fichier en x fichiers portant le même nom +/- un chiffre (pour les différencier) contenant chacun 40 000 lignes.
Est-ce faisable en batch??
Merci d'avance
Cdlt
A voir également:
- Découper un fichier texte en plusieurs parties
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
3 réponses
Tien voilà tu peut faire un truc comme ça:
Le fichier In.txt est le fichier d'entré donc le fichier que tu veux découper.
La variable nbrLigneMax c'est le nombre de ligne que tu veux par fichier.
Bilou
@echo off setlocal enableDelayedExpansion set nbrLigneMax=4 Set nbrLigne=0 set nbrFile=0 for /f "delims=""" %%i in ('type "In.txt"') do ( if !nbrLigne!==%nbrLigneMax% set /a nbrFile=!nbrFile!+1& set nbrLigne=0 echo %%i>>File-!nbrFile!.txt set /a nbrLigne=!nbrLigne!+1 ) pause
Le fichier In.txt est le fichier d'entré donc le fichier que tu veux découper.
La variable nbrLigneMax c'est le nombre de ligne que tu veux par fichier.
Bilou
Et voilà:
Bilou.
@echo off setlocal enableDelayedExpansion set nbrLigneEnteteMax=14 set nbrLigneEntete=0 for /f "delims=" %%i in ('type "In.txt"') do ( if !nbrLigneEntete! LSS %nbrLigneEnteteMax% echo %%i>>"EnTete.txt" set /a nbrLigneEntete+=1 ) set nbrLigneMax=4 Set nbrLigne=4 set nbrFile=0 for /f "delims=" %%i in ('type "In.txt"') do ( if !nbrLigne!==%nbrLigneMax% ( set /a nbrFile+=1 set nbrLigne=0 for /f "delims=" %%j in ('type "EnTete.txt"') do echo %%j>>"File-!nbrFile!.txt") echo %%i>>"File-!nbrFile!.txt" set /a nbrLigne+=1 ) del /f /s /q "EnTete.txt" > NUL pause
Bilou.