У меня есть текстовый файл, который содержит несколько строк:
Mario Rossi 1:17.36 +0.00 1.33 (2) 1.34 (6) 11.46 (2) 1.43 (1) 1.32 (1) 7.55 (1) 3.40 (1) 8.44 (1) 1.21 (19) 12.40 (24)
SWE 1.33 (2) 3.07 (2) 14.53 (2) 16.36 (1) 18.08 (1) 26.03 (1) 29.43 (1) 38.27 (1) 39.48 (1) 52.28 (1)
Alex Haas 1:18.11 +0.35 1.28 (1) 1.35 (10) 11.35 (1) 2.04 (34) 1.42 (6) 8.47 (7) 3.57 (4) 9.26 (2) 1.18 (5) 11.23 (2)
NOR 1.28 (1) 3.03 (1) 14.38 (1) 16.42 (2) 18.24 (2) 27.11 (2) 31.08 (2) 40.34 (2) 41.52 (2) 53.15 (2)
Я хочу объединить 2 строки одновременно, чтобы результат выглядел следующим образом:
Mario Rossi 1:17.36 +0.00 1.33 (2) 1.34 (6) 11.46 (2) 1.43 (1)
SWE 1.33 (2) 3.07 (2) 14.53 (2) 16.36 (1)
1.32 (1) 7.55 (1) 3.40 (1) 8.44 (1) 1.21 (19) 12.40 (24)
18.08 (1) 26.03 (1) 29.43 (1) 38.27 (1) 39.48 (1) 52.28 (1)
Alex Haas 1:18.11 +0.35 1.28 (1) 1.35 (10) 11.35 (1) 2.04 (34)
NOR 1.28 (1) 3.03 (1) 14.38 (1) 16.42 (2)
1.42 (6) 8.47 (7) 3.57 (4) 9.26 (2) 1.18 (5) 11.23 (2)
18.24 (2) 27.11 (2) 31.08 (2) 40.34 (2) 41.52 (2) 53.15 (2)
Все пары линий имеют одинаковый формат. В строках может быть гораздо больше элементов, поэтому мне нужно объединить их по нескольким строкам (например, вывести первые 12 элементов первой строки, затем первые 12 элементов второй строки, затем следующие 12 элементов первой строки, затем следующие 12 элементы второй строки и т. д. до конца строки).
До сих пор я мог только найти решения, в которых несколько строк объединяются, когда нет необходимости смешивать содержимое строк ( Как объединить несколько строк в одном текстовом файле в одну строку в Windows? или Batch - Объедините две строки и добавьте запятую для переформатирования txt в csv ). Поэтому я застрял со следующим фрагментом кода, который я не знаю, как завершить:
@echo off
set _inputfile=myfile
setlocal enabledelayedexpansion
set evenflag=1
for /f "tokens=*" %%x in (%_inputfile%.txt) do set x1=!x2! && set x2=%%x && (
set /a evenflag^^=1 && if !evenflag!==1 (
rem how to process !x1! and !x2! to get desired output?
))
pause