Чтение альтернативных строк из нескольких файлов и объединение их в один CSV - PullRequest
0 голосов
/ 25 сентября 2018

Вот что я пытаюсь сделать:

  1. Перебрать все файлы в каталоге
  2. Перебрать все остальные строки, начиная с первой (все нечетные строки) и получите номер в строке.
  3. Запишите номер и следующую строку в файл output.txt

Данные выглядят следующим образом:

>      234.01 Burgeron/ Tom                       Tom Burgeron
  Here is some information.
>      126.00 Waka/ Judy                   Judy Waka
  Here is some more information.

Я пытаюсь сделать так, чтобы это выглядело так:

"234.01","Here is some information."
"126.00","Here is some more information."

Вот пакетный файл, который я пишу:

@ECHO off
SETLOCAL EnableDelayedExpansion
//Loop through all files in folder
for /f "tokens=*" %%a in (*) do (
    CALL :GetNumber %%a
    echo "!num!",%%a
) >> FILEOUTPUT.txt

//Get number on the odd-numbered lines
:GetNumber
for /f "tokens=1 delims=>" %%a in (%1) do (
    set "num=%%a"
)

У меня проблемы с получением любой другой строкифайла, а затем читать следующую строку / запись его в файл.Я видел, как пропустить определенные строки, но не как пропустить друг друга.Как мне тогда взять следующую строку?

Этот пакетный файл немного сложен для меня.Любая помощь будет принята с благодарностью.Спасибо.

1 Ответ

0 голосов
/ 25 сентября 2018

Чтобы показать один из способов чередующейся обработки строк:

@ECHO off
SETLOCAL EnableDelayedExpansion
REM Loop through all files in folder
for %%a in (*) do for /f "delims=" %%b in (%%a) do (
  if defined num (
    echo "!num!","%%b"
    set "num="
  ) else (
    for /f "tokens=1 delims=> " %%c in ("%%b") do set num=%%c
  )
)

Обратите внимание, что вышеупомянутый скрипт не может находиться в папке, содержащей файлы данных, или он будет обработан как данные.

...