Войти

Показать полную графическую версию : Копирование текста колонками


niko_dovgiy
07-12-2015, 12:20
Доброго времени суток ! Встретился с такой проблемой, необходимо скопировать текст из 1.csv , 2.csv , 3, csv в новый файл с расширением CSV !

файл 1.csv имеет строки :

1 2 3
1 2 3
1 2 3
1 2 3

Файл 2.csv :

4 5 6
4 5 6
4 5 6
4 5 6

Файл 3.csv

7 8 9 и т.д

Необходимо составить их в один файл что бы получилось примерно такой файл :

Файл 4.csv на выходе :

1 2 3; 4 5 6; 7 8 9;
1 2 3; 4 5 6; 7 8 9;
1 2 3; 4 5 6; 7 8 9;

Количество строк не должно быть ограниченно константой.

Если есть такая возможность оставьте коментарии по каждой из строк для большего понимания функционала скрипта ...
За ранее спасибо за помощь !

Georgio
07-12-2015, 14:50
@echo off

set source="1.csv" "2.csv" "3.csv"
set destination="4.csv"
set "delimiter=; "

<nul>%destination% cmd/v/c for /l %%1 in () do @^>nul set/a n+=1^& (^
for /f "delims=" %%2 in ('"find/n /v "" %source%| findstr/bl [!n!]"')^
do @^>nul set/a o+=1^& set x=%%2^& if !o! neq 3 (set/p=!x:*]=!!delimiter!)^
else echo(!x:*]=!!delimiter:~,-1!)^|^| exit/b^& set o=

exit/b

niko_dovgiy
07-12-2015, 15:29
Спасибо, все работает четко ... Не могли бы вы прокомментировать строки ?




© OSzone.net 2001-2012