【问题标题】:How to Merge all Text files in a Single file with Broken Lines?如何将所有文本文件合并到一个带有断线的文件中?
【发布时间】:2017-09-27 09:30:56
【问题描述】:

我正在使用下面的代码将文件夹中的所有文本文件合并为一个简单文件,问题是代码不会换行并最终混合单词。

copy *.txt Combined.txt

Echo.
Echo Done!
Echo.

pause

当它结束时,他会保持这样:

abcblue

123abcyellow

123abc

当我期望它会变成这样时:

ABC

blue

123

abc

yellow

123

abc

怎么了?

注意:我在互联网上找到了这个 sn-p 的代码,它看起来像主题:

FOR %f IN (*.txt) DO type %f >> Combined.txt & echo. >> Combined.txt

在这种情况下:

type file1.txt >> newfile.txt
echo. >> newfile.txt
type file2.txt >> newfile.txt
echo. >> newfile.txt
type file3.txt >> newfile.txt
echo. >> newfile.txt

但我需要它自动抓取所有文本文件并合并。

【问题讨论】:

    标签: batch-file text merge copy line-breaks


    【解决方案1】:

    只要文件格式正确,Windows (CRLF) ANSI 文本文件就可以考虑使用Type?

    Type *.txt>"..\Combined.txt"
    

    这“应该”写入当前目录父级中的Combined.txt。我这样做是为了防止命令尝试读取它自己的内容,因为它也是一个.txt 文件。 如果您愿意,请随意将 "..\Combined.txt" 替换为特定路径

    如果您想要每个输出 .txt 文件上方的文件名,请尝试将命令更改为:

    Type *.txt>"..\Combined.txt" 2>&1
    

    编辑

    一个附加选项,它也应该在文件前面加上他们的名字:

    Find/V "" *.txt>"..\Combined.txt"
    

    【讨论】:

    • 下面是文件名,跳了两行,怎么解决?图片:i.imgur.com/GeHYglT.png
    • 由于此基本命令无法控制现有内容,因此如果不使用更复杂的编码并了解更多有关文本文件及其潜在内容的信息,则不容易修复。但我已经用一个额外的选项更新了我的答案。
    • 新选项结合得更好!但是你仍然把文件名加上扩展名,你没有办法简单地删除这些行吗? imgur.com/LbKYCCA.png
    • 我建议您回到我的上一条评论。
    • 好的,我再问一个问题。
    猜你喜欢
    • 1970-01-01
    • 2013-06-03
    • 1970-01-01
    • 2016-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-17
    • 1970-01-01
    相关资源
    最近更新 更多