Découper un fichier .txt en batch

Fermé
Mael730 Messages postés 49 Date d'inscription vendredi 23 octobre 2009 Statut Membre Dernière intervention 9 février 2010 - 8 févr. 2010 à 17:34
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 - 9 févr. 2010 à 17:53
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

3 réponses

cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
8 févr. 2010 à 19:03
Tien voilà tu peut faire un truc comme ça:
@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
3