【问题标题】:merge many txt file contents and skip first line in batch command file合并许多 txt 文件内容并跳过批处理命令文件中的第一行
【发布时间】:2013-02-18 15:06:40
【问题描述】:

我想创建一个批处理命令文件来合并扩展名为“.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

排序无关紧要。

【问题讨论】:

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


    【解决方案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
    

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

    【讨论】:

    • 感谢 Aacini,它工作得非常好。我现在可以节省我每天做的手工工作。只是关于上面创建的文件的另一个小查询。我希望将文件保存为 __.mf 其中日期和格式与文件的第一行相同。
    • 我有一个类似的过程,我必须在 .txt 扩展名中合并许多文件。但是这个命令效果不好。文件已正确创建,但输出文件没有扩展名“.txt”
    猜你喜欢
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    • 2015-05-03
    • 2016-07-01
    • 1970-01-01
    • 2022-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多