CMD/BAT - Копирование текста колонками

Ответить
Аватара пользователя
niko_dovgiy

CMD/BAT - Копирование текста колонками

Сообщение niko_dovgiy »

Доброго времени суток ! Встретился с такой проблемой, необходимо скопировать текст из 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

Re: CMD/BAT - Копирование текста колонками

Сообщение Georgio »

Код:

Код: Выделить всё

@echo off
set source="1.csv" "2.csv" "3.csv"
set destination="4.csv"
set "delimiter=; "
%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

Re: CMD/BAT - Копирование текста колонками

Сообщение niko_dovgiy »

Спасибо, все работает четко ... Не могли бы вы прокомментировать строки ?
Ответить

Вернуться в «Скриптовые языки администрирования Windows»