Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
Conserver les sauts de lignes après génération de txt
Auteur Message
Répondre en citant
Message Conserver les sauts de lignes après génération de txt 
Bonjour,

Je souhaiterais découper un fichier TXT en plusieurs fichiers TXT, tout en conservant la mise en forme source.

J'ai trouvé un très bon script sur ce forum qui correspond à 90% à ce que je recherche, mais il ne conserve pas la mise en forme source : http://batch.xoo.it/t2711-decouper-un-fichier-txt-en-plusieurs-fichier.htm

J'ai modifié le script de manière à ce qu'il conserve les espaces => OK (for /f "tokens=*" %%i in ('type "%fichier_source%"') ===> for /f "delims=" %%i in ('type "%fichier_source%"') )
Le soucis c'est qu'il me mange les lignes vides...

Exemple de txt :

-----------------------------------------------------------------------------------------------------------------------------------------
CAT 1
Praefecto verecunde iussit iam lege in verecunde Gallum Domitiano simulans simulans Syriam Gallum comite quem.

Domitiano simulans simulans


m comite quem.


CAT 2
Praefecto verecunde iussit iam lege in verecunde Gallum Domitiano simulans simulans Syriam Gallum comite quem.

Domitiano simulans simulans


m comite quem.

-----------------------------------------------------------------------------------------------------------------------------------------


En sortie j'ai bien deux fichiers :

-----------------------------------------------------------------------------------------------------------------------------------------
CAT1.txt
CAT 1
Praefecto verecunde iussit iam lege in verecunde Gallum Domitiano simulans simulans Syriam Gallum comite quem.
Domitiano simulans simulans
m comite quem.

CAT2.txt
CAT 2
Praefecto verecunde iussit iam lege in verecunde Gallum Domitiano simulans simulans Syriam Gallum comite quem.
Domitiano simulans simulans
m comite quem.

-----------------------------------------------------------------------------------------------------------------------------------------
mais plus de sauts de lignes...


Une idée?

Je n'ai pas de réel connaissance en batch, je bidouille Smile

Par avance merci



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Conserver les sauts de lignes après génération de txt 
Salut,

Malheureusement, avec la boucle de recherche, les lignes vides sautent ...
Et si tu les ajoutait avec un simple echo. ?

@+




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message Conserver les sauts de lignes après génération de txt 
Oui j'y ai pensé mais se serait beaucoup trop lourd à faire. Les fichiers générés feront à minima 92 lignes....



Répondre en citant
Message Conserver les sauts de lignes après génération de txt 
RE,

C'est pour ça que tu veux un batch, pour qu'il fasse le boulôt à ta place, non ? Mr. Green
Perso je m'en sert sur des fichiers de + de 100.000 lignes Okay

Je pense qu'on peut incrémenter des lignes vides avec la mise en forme de départ !!
Les lignes vides sont toujours placées de la même façon ?

@+




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message Conserver les sauts de lignes après génération de txt 
Oui j'aimerais bien que le batch m'aide sur ce coup là Razz

Les fichiers générés feront 92 lignes à chaque fois ou 184 ou 276 ... +92
Les espaces et saut de lignes diffèrent par contre d'un fichier de 92 lignes à l'autre...



Répondre en citant
Message Conserver les sauts de lignes après génération de txt 
Salut,

Peux-tu poster ton batch que je voies comment adapter les sauts de lignes stp ?
Et aussi un exemple où les sauts de lignes sont différents Wink

@+




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message Conserver les sauts de lignes après génération de txt 
Salut,



Voici un exemple (format courrier) :


------------------------------------------------------------------------------------------------


Adresse
Nom
prenom
ETC DATE


info X
info X



ID PERSONNE Adresse
Nom
prenom
info X
info X



Titre


TexteTexteTexteTexteTexteTexteTexteTexteTexteTexteTexteTexteTexte
TexteTexteTexteTexteTexteTexteTexteTexteTexteTexteTexteTexteTexte
TexteTexteTexteTexteTexteTexteTexteTexteTexteTexteTexteTexteTexte


(Espace volontaire)

TexteTexteTexteTexteTexteTexteTexteTexte
TexteTexteTexteTexteTexteTexteTexteTexte



(Espace volontaire)














info X
info X bla bla bla




info X info X
info X info X

------------------------------------------------------------------------------------------------


Le bat :

------------------------------------------------------------------------------------------------

Code:
@Echo off
rem ------ Initialisation
set fichier_source=test.txt
set dossier_destination=%cd%\dst
set chaine_delimitation_sections="adresse"
set chaine_recherche_ID="ID PERSONNE"

setlocal enabledelayedexpansion
set i1=0
if not exist "%dossier_destination%" md "%dossier_destination%"

rem ------ Création du tableau
for /f "DELIMS=" %%i in ('type "%fichier_source%"') do (
   echo %%i|find %chaine_delimitation_sections% >nul
   if !errorlevel!==0 (
      set /a i1+=1
      set i2=0
   )
   set /a i2+=1
   set tab_!i1!_nb=!i2!
   set tab_!i1!_!i2!=%%i
   echo %%i|find %chaine_recherche_ID% >nul
   if !errorlevel!==0 for /f "tokens=8*" %%j in ("%%i") do set tab_!i1!_date=%%j %%k
)

rem ------ Création des fichiers
for /l %%i in (0,1,%i1%) do (
   for /l %%j in (1,1,!tab_%%i_nb!) do (
   echo.!tab_%%i_%%j!>>"%dossier_destination%\!tab_%%i_date!.txt"
   )
)

pause



------------------------------------------------------------------------------------------------

Merci pour tes recherches Smile



Répondre en citant
Message Conserver les sauts de lignes après génération de txt 
Re,

Ok, je vois le souci Rolling Eyes
Bon, on va être obligé d’enregistrer chaque ligne dans une variable et de faire la mise en forme en "comptant" les lignes ...
Un peu comme ce que je viens de faire, mais en + élaboré >> http://batch.xoo.it/t3005-Recuperer-plusieurs-d-un-fichier.htm
Je vais essayer de te faire ça pour ce soir, y'en a pour une bonne heure de taf là Mr. Green

PS: Si tu veux m'envoyer par MP un "vrai" fichier avec plus de lignes ( même modifié, c'est juste pour tester )

@+




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message Conserver les sauts de lignes après génération de txt 
Re,

MDR, j'obtiens la même chose que toi avec mon code:

Code:
@echo off
setlocal enabledelayedexpansion

set fichier_source=fichier.txt
set chaine_recherche_ID="ID PERSONNE"

set CNT=99999
for /f "tokens=*" %%# in ('type %fichier_source%') do (
  set /a CNT+=1
  set "LINE_!CNT!=%%#"
  )

for /f "tokens=2 delims=_=" %%# in ('set ^| find "%chaine_recherche_ID%"') do (
  set /a NB+=1
  set /a UP=NB-1
  set /a CORR=%%#-1
  set MIN_!NB!=%%#
  set MAX_!UP!=!CORR!
  )
 
set MAX_%NB%=%CNT%
for /l %%£ in (1,1,!NB!) do call :GO "%%£" "!MIN_%%£!" "!MAX_%%£!"

pause
exit

:GO
for /l %%§ in (%~2,1,%~3) do echo.!LINE_%%§!>>nouveau_%fichier_source%_%~1.txt
goto :EOF


Tu crois que tu peux ajouter un caractère sur les lignes vides avec excel, par exemple "$" ??




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message Conserver les sauts de lignes après génération de txt 
Ouch le script!


Citation:
Tu crois que tu peux ajouter un caractère sur les lignes vides avec excel, par exemple "$" ??


Tu veux dire modifier le fichier source en ajoutant $ aux lignes vides?



Répondre en citant
Message Conserver les sauts de lignes après génération de txt 
Bonsoir du soir,

sephiroth.ffantasy a écrit:
Tu veux dire modifier le fichier source en ajoutant $ aux lignes vides?


Oui c'est ça !!
Mais j'ai une autre idée, je vais regarder ça cette nuit quand je serais tranquille Laughing
Pour le moment les lignes vides ne sont même pas déclarées en variables sur mon code ... Crying or Very sad

@+




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message Conserver les sauts de lignes après génération de txt 
Bonsoir,

Bon j'avoues, j'ai un peu zapé, trop de choses à faire ...
Promis je regarde ça ce week-end Okay




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message Conserver les sauts de lignes après génération de txt 
Salut,

J'ai beau chercher, pas moyen de remplir ces lignes vides (en batch) ...
Si quelqu'un a une idée Rolling Eyes




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message Conserver les sauts de lignes après génération de txt 
Je te remercie pour tes recherches, je crois qu'on a trouvé les limites du batch Wink



Répondre en citant
Message Conserver les sauts de lignes après génération de txt 
Salut,

Tiens, j'ai bricolé ça:

Code:
more fichier.txt |find /n /v "">>new.txt


Tu crois qu'on peut s'en sevir ?
Mr. Green

Maintenant il faut que je l'ajoute au code et que je le modifie, t'es pas pressé ?

@+




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Message Conserver les sauts de lignes après génération de txt 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch