1

У меня есть несколько текстовых файлов с неинтересным заголовком и некоторыми важными данными. Я хочу новый файл со всеми важными данными:

Пример:

Файл1 имеет текст:

Created on 02.02.2016
Country: Chile
Figure of Station: CAL
Frequency: 220 Hz
Messuring: 15 hours

Файл2 имеет текст:

Created on 02.02.2016
Country: Chile
Figure of Station: GUA
Frequency: 220 Hz
Messuring: 14 hours

Я хотел бы иметь новый CSV со всеми важными данными, похожими на:

CAL 220 Hz 15 hours
GUA 220 Hz 14 hours

Можно ли сделать что-то подобное с командным файлом?

Я знаю о копировании .csv все .txt но это не работает здесь.

Вот пакетный скрипт, который у меня есть.

@echo off
setlocal EnableDelayedExpansion
if exist result.csv del result.csv
for %%f in (*.txt) do (
    set i=0
    for /F "delims=" %%l in (%%f) do (
        set /A i+=1
        set line!i!=%%l
    )
    echo %%f, !line1!, !line2!, !line3!, !line4!, !line5!, >> result.csv
)

1 ответ1

0

Я хочу новый файл со всеми важными данными

Я изменил ваш командный файл для получения желаемых результатов.

Используйте следующий пакетный файл (test.cmd):

@echo off
setlocal EnableDelayedExpansion
if exist result.csv del result.csv
for %%f in (file*.txt) do (
  set _line=
  rem we don't need the first 2 lines so skip them
  rem we only need the data after the : 
  rem so use : as the delimeter and get the rest of the tokens after the delimeter 
  for /f "skip=2 tokens=2* delims=:" %%l in (%%f) do (
    set _value=%%l
    rem strip off the space that is after the : and build up the output line
    set _line=!_line!!_value:~1! 
    )
  rem write the output line to the file
  echo !_line! >> result.csv
  )
endlocal

Заметки:

  • Измените file*.txt чтобы он соответствовал вашим текстовым файлам.

Пример использования:

F:\test>type file*.txt

file1.txt


Created on 02.02.2016
Country: Chile
Figure of Station: CAL
Frequency: 220 Hz
Messuring: 15 hours
file2.txt


Created on 02.02.2016
Country: Chile
Figure of Station: GUA
Frequency: 220 Hz
Messuring: 14 hours
F:\test>test

F:\test>type result.csv
CAL 220 Hz 15 hours
GUA 220 Hz 14 hours

F:\test>

Дальнейшее чтение

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .