Batch pour transformer un fichier TXT

maohi1975 Messages postés 16 Statut Membre -  
 Maohi1975 -
Bonjour à tous ,

j'ai un fichier txt avec ces lignes :

A000001201506070420
B P
C031780406982600004000
C030452063812080004000
C031780406454860010000

et j'aimerais écrire la 2em ligne du fichier avec la date puis les 5 zéros

A000001201506070420
B20150607 00000
C031780406982600004000
C030452063812080004000
C031780406454860010000

est ce possible ?

3 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    il ne faut garder que le premier caractère B de la deuxième ligne ?
    quelle date ? celle de la 1ère ligne ?
    0
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    comme ça ?
    C:> cc
    A000001201506070420
    B20150607 00000
    C031780406982600004000
    C030452063812080004000
    C031780406454860010000

    C:> type cc.bat
    @echo off
    setlocal enabledelayedexpansion
    set c=1
    for /f "delims=" %%a in ('type fichier.txt') do (
    set l=%%a
    if !c! EQU 1 set d=!l:~7,8!
    if !c! EQU 2 set l=!l:~0,1!!d! 00000
    echo !l!
    set /a c+=1
    )
    0
  3. Maohi1975
     
    exactement dubcek , c'est ce que je cherche.

    merci ...j'ai essayé cela qui fonctionne aussi.

    @echo off
    setLocal EnableDelayedExpansion

    for /f "tokens=* delims= " %%a in (comcde1.txt) do (
    set str=%%a
    set str=!str:B P=B%date:~6,4%%date:~3,2%%date:~0,2% 00000!

    echo !str!>>fichier2test.txt
    )
    type fichier2test.txt>comcde1.txt
    del fichier2test.txt
    0