Solved Append Multiple Text Files As Columns

June 8, 2013 at 13:38:12
Specs: Windows 7
Hello,

To be honest I checked the post http://www.computing.net/answers/pr... and I didn't understand the examples mentioned there... so could someone help me? For example, I have 3 text files, each one with three lines. I'd like to merge them in a unique text file in columns... As far I could understand I did the code below where it could check the number of text files and lines that the final text file should have :

echo off & setlocal enableDelayedExpansion
for /f %%a in ('dir /b *.txt ^| find /c /v ""') do (
set f = %%a
)
for /f %%b in ('dir /b *.txt') do (
for /f %%c in (%%b) do (
set l += 1
echo %%c
)
)
set /A t = !l!/!f!
echo This report should have !f! columns and !t! lines.
for /l %%d in (1,1,!f!) do (
echo Line %%d
)
endlocal

Thank you in advance.


See More: Append Multiple Text Files As Columns

Report •


#1
June 8, 2013 at 17:12:21
✔ Best Answer
@echo off & setlocal enabledelayedexpansion
set z=0
for %%j in (thisfile, thatfile, otherfile) do (
set c=0
for /f "tokens=*" %%a in (%%j) do (
set /a c+=1
call :join %%a
)
if !c! gtr !z! set z=!c!
)
(for /L %%a in (1 1 %z%) do echo !foo%%a!)>outfile
:: we could do away with the counter, but only if the variables are guarenteed to
::have unique names (using "foo" for example):
(for /f "tokens=2* delims==" %%a in ('set foo') do echo %%a)>outfile
goto :eof

:join
set foo%c%=!foo%c%!:%1
rem echo !foo%c%!
::===== end batch
note that blank lines are skipped, as written. They can be included if need be.


Report •

#2
June 8, 2013 at 18:26:33
There is some way to change the output format? The current output format is:

;01;04;07
;02;05;08
;03;06;09

I would like to know if is possible to it be like below:

;01;02;03
;04;05;06
;07;08;09


Report •

#3
June 8, 2013 at 19:52:37
@echo off & setlocal enabledelayedexpansion
set x=
(for %%b in (file1 file2 file3) do call :xx %%b)>outfile
goto :eof

:xx
for /f "tokens=*" %%a in (%1) do set x=;!x!%%a
echo !x!
set x=


Report •

Related Solutions


Ask Question