Bonjour,
Je cherche comment modifier le retour chariot dans un fichier qui présente une suite de caractères :
60350;1;60351;1;60352;1;60353;1;60354;1;60355;1;60356;1;60357;1;60358;1;60359;1;60360;1;60361;1;60362;1;60363;1;60364;1;60365;1;60366;1;60367;1;60368;1;60369;1;60370;1;60371;1;60372;1;60373;1;60374;1;60375;1;60376;1;60377;1;60378;1;60379;1;60380;1;60381;1;60382;1;60383;1;60384;1;60385;1;60386;1;60387;1;60388;1;60389;1;60390;1;60391;1;60392;1;60393;1;60394;1;60395;1;60396;1;60397;1;60398;1;60399;1;60400;1;60401;1;60402;1;60403;1;60404;1;60405;1;60406;1;60407;1;60408;1;60409;1;60410;1;60411;1;60412;1;60413;1;60414;1;60415;1;60416;1;60417;1;60418;1;60419;1;60420 .....etc
Je voudrai faire un retour chariot tous les 80 caractères.
En cherchant sur les forums, j'ai trouvé un batch qui semble pouvoir faire ça :
@echo Off
setlocal enabledelayedexpansion
CD "D:\temp\"
set $fsource="TITI.txt"
set $nbchar=80
for /f "delims=" %%a in ('type %$fsource%') do (
set $Tstring=%%a
set $liste=
set $c=0
set $compteur=1
call:decoupe)
goto:eof
:decoupe
set $t=!$Tstring:~%$c%,1!
if not defined $t goto:end
set $liste=!$liste!!$t!
if !$compteur! equ %$nbchar% (echo !$liste!>>sortie.txt
set $liste=
set $compteur=1)
set /a $c+=1
set /a $compteur+=1
goto:decoupe
endlocal
:end
if defined $liste echo !$liste!>>sortie.txt
La première ligne est bien découpée à 80 caractères.
Par contre, je ne comprends pas pourquoi toutes les suivantes sont découpées au 79e caractères ce qui décale complètement les données...
Le résultat donne ça chez moi :
60350;1;60351;1;60352;1;60353;1;60354;1;60355;1;60356;1;60357;1;60358;1;60359;1;
60360;1;60361;1;60362;1;60363;1;60364;1;60365;1;60366;1;60367;1;60368;1;60369;1
;60370;1;60371;1;60372;1;60373;1;60374;1;60375;1;60376;1;60377;1;60378;1;60379;
1;60380;1;60381;1;60382;1;60383;1;60384;1;60385;1;60386;1;60387;1;60388;1;60389
;1;60390;1;60391;1;60392;1;60393;1;60394;1;60395;1;60396;1;60397;1;60398;1;6039
9;1;60400;1;60401;1;60402;1;60403;1;60404;1;60405;1;60406;1;60407;1;60408;1;604
09;1;60410;1;60411;1;60412;1;60413;1;60414;1;60415;1;60416;1;60417;1;60418;1;60
419;1;60420 .....etc
alors que ce que je souhaite, c'est ça :
60350;1;60351;1;60352;1;60353;1;60354;1;60355;1;60356;1;60357;1;60358;1;60359;1;
60360;1;60361;1;60362;1;60363;1;60364;1;60365;1;60366;1;60367;1;60368;1;60369;1;
60370;1;60371;1;60372;1;60373;1;60374;1;60375;1;60376;1;60377;1;60378;1;60379;1;
60380;1;60381;1;60382;1;60383;1;60384;1;60385;1;60386;1;60387;1;60388;1;60389;1;
60390;1;60391;1;60392;1;60393;1;60394;1;60395;1;60396;1;60397;1;60398;1;60399;1;
60400;1;60401;1;60402;1;60403;1;60404;1;60405;1;60406;1;60407;1;60408;1;60409;1;
60410;1;60411;1;60412;1;60413;1;60414;1;60415;1;60416;1;60417;1;60418;1;60419;1;
60420 .....etc
Pouvez vous m'expliquez ce qui cloche ?
Merci pour votre aide.
Partager