合并许多txt文件内容并跳过批处理命令文件中的第一行

时间:2013-02-18 15:06:41

标签: text batch-file merge batch-processing skip

我想创建一个Batch命令文件来合并扩展名为“.mf”的文本文件 但是,每个文件包含第一行中的日期,我不想在最终输出文件中使用,请建议如何在合并到一个大的txt文件中时从每个文件中删除日期行。

我使用以下命令合并批处理文件的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

排序无关紧要。

1 个答案:

答案 0 :(得分:6)

@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

此解决方案不会保留第二个文件中的空行;如果需要,这可能是固定的。