Help DOS batch scripting

Discussion in 'Software' started by simulcop, Jul 30, 2008.

  1. simulcop

    simulcop Private E-2

    Hi all, i have a problem with a DOS batch script.

    i have a .txt file with this structure:

    headerfield1,headerfield2,headerfield3,headerfield4
    detail1field1,detail1field2,detail1field3,detail1field4,detail1field5
    detail2field1,detail2field2,detail2field3,detail2field4,detail2field5
    detail3field1,detail3field2,detail3field3,detail3field4,detail3field5
    detail4field1,detail4field2,detail4field3,detail4field4,detail4field5
    detail5field1,detail5field2,detail5field3,detail5field4,detail5field5
    detail6field1,detail6field2,detail6field3,detail6field4,detail6field5
    .
    .
    .
    detailnfield1,detailnfield2,detailnfield3,detailnfield4,detailnfield5



    and i want it to be like this

    headerfield1,headerfield2,headerfield3,headerfield4,detail1field1,detail1field2,detail1field3,detail1field4,detail1field5
    headerfield1,headerfield2,headerfield3,headerfield4,detail2field1,detail2field2,detail2field3,detail2field4,detail2field5
    headerfield1,headerfield2,headerfield3,headerfield4,detail3field1,detail3field2,detail3field3,detail3field4,detail3field5
    headerfield1,headerfield2,headerfield3,headerfield4,detail4field1,detail4field2,detail4field3,detail4field4,detail4field5
    headerfield1,headerfield2,headerfield3,headerfield4,detail5field1,detail5field2,detail5field3,detail5field4,detail5field5
    headerfield1,headerfield2,headerfield3,headerfield4,detail6field1,detail6field2,detail6field3,detail6field4,detail6field5
    .
    .
    .
    headerfield1,headerfield2,headerfield3,headerfield4,detailnfield1,detailnfield2,detailnfield3,detailnfield4,detailnfield5

    in other words the original file is like:
    line1
    line2
    line3
    line4
    line5
    .
    .
    .
    lineN

    and i want
    line1line2
    line1line3
    line1line4
    line1line5
    .
    .
    .
    line1lineN



    i have a little batch script that create 2 files, one with the header line (line1) and the other with all the detail lines (line2 till lineN), but dont know how to create a file with the format i explain above.

    Thanks for your help

    Regards

    Javier.
     
  2. PEBKAC

    PEBKAC Private First Class

    How about this?...

    filename.txt = Original File
    newfile.txt = Output File

    Code:
    @echo off
    set counter=0
    type filename.txt|find /i /v /n ""|find "[1]">%temp%\~header.tmp
    for /f "tokens=2 delims=]" %%a in (%temp%\~header.tmp) do set Prefix=%%a
    for /f "tokens=1 delims=*" %%a in (filename.txt) do call :subroutine "%%a"
    if exist %temp%\~header.tmp del %temp%\~header.tmp
    set counter=
    goto end
    :subroutine
    set /a counter=%counter%+1
    if "%counter%"=="1" goto end
    set Suffix=%~1
    if exist newfile.txt echo %Prefix%,%Suffix%>>newfile.txt
    if not exist newfile.txt echo %Prefix%,%Suffix%>newfile.txt
    :end
    
     
    Last edited: Jul 31, 2008

MajorGeeks.Com Menu

Downloads All In One Tweaks \ Android \ Anti-Malware \ Anti-Virus \ Appearance \ Backup \ Browsers \ CD\DVD\Blu-Ray \ Covert Ops \ Drive Utilities \ Drivers \ Graphics \ Internet Tools \ Multimedia \ Networking \ Office Tools \ PC Games \ System Tools \ Mac/Apple/Ipad Downloads

Other News: Top Downloads \ News (Tech) \ Off Base (Other Websites News) \ Way Off Base (Offbeat Stories and Pics)

Social: Facebook \ YouTube \ Twitter \ Tumblr \ Pintrest \ RSS Feeds