объединить много содержимого txt файла и пропустить первую строку в пакетном командном файле

Я хочу создать пакетный командный файл для объединения текстового файла с расширением «.mf». Однако каждый файл содержит дату в первой строке, которую я не хочу видеть в конечном выходном файле. Пожалуйста, посоветуйте, как мне избавиться от строки даты из каждого файла при слиянии в один большой текстовый файл.

Я использовал следующую команду для объединения файлов txt для пакетного файла.

copy *.mf big.one
ren big.one filename.mf

Пример:

2013218;
a
b
c
d

-

2013218;
u
v
w
x
y
z

Вывод должен быть таким, как показано ниже:

2013218;
a
b
c
d
u
v
w
x
y
z

Сортировка не имеет значения.


person Kam    schedule 18.02.2013    source источник


Ответы (1)


@echo off
del big.one 2> NUL
for %%f in (*.mf) do (
   if not exist big.one (
      copy "%%f" big.one
   ) else (
      for /F  "usebackq skip=1 delims=" %%a in ("%%f") do (
         echo %%a>> big.one
      )
   )
)
set /P fileDate=< big.one
ren big.one filename_%fileDate:~0,-1%.mf

Это решение не сохраняет пустые строки из второго файла; это может быть исправлено, если это необходимо.

person Aacini    schedule 19.02.2013
comment
Спасибо, Аачини, все сработало отлично. Теперь я могу сохранять ручную работу, которую делаю каждый день. просто еще один небольшой запрос относительно файла, созданного выше. Я хочу, чтобы файл был сохранен как ‹имя файла›__‹ГГГГММДД›.mf, где дата и формат такие же, как в первой строке файла. - person Kam; 19.02.2013
comment
У меня есть аналогичный процесс, когда мне нужно объединить много файлов с расширением .txt. Но эта команда работает плохо. Файл создан правильно, но выходной файл не имеет расширения .txt - person Kam; 28.08.2013