【问题标题】:How to get line breaks between every merged file content and all paths of all txt in one txt (batch, subfolders)?如何在每个合并的文件内容和一个txt(批处理,子文件夹)中所有txt的所有路径之间获取换行符?
【发布时间】:2018-02-20 18:34:55
【问题描述】:
chcp 1252
for /r "C:\1" %%f in (*.txt) do type "%%f" >> echo 2> "C:\2\x.txt"

如果我再次使用该批次,我想覆盖 x.txt。 2>&1 对于获取 x.txt 中的路径和换行符很重要。我希望按字母顺序排列所有 txt 文件(此文件夹、所有子文件夹)的路径和内容。它在单个文件中创建所有内容。但它不会覆盖现有内容,并且路径 (2>&1) 没有换行符。我该如何整合它?

【问题讨论】:

  • 在使用TYPE 命令之前,您需要获取文件和文件夹的列表。你可以使用FOR /R 命令来做到这一点。
  • 我不知道如何将我的代码与 for /r 结合起来。 chcp 1252 for /r type "C:\1*.txt" > "C:\1\x.txt" 2>&1 不工作。
  • 阅读 for /? 以了解正确的语法。
  • 我可以看到您甚至没有尝试阅读帮助文件,甚至没有尝试通过 Google 根据您评论中的示例搜索正确的语法。
  • 不要将代码放入 cmets。使用新代码更新您的问题。

标签: batch-file merge concatenation line-breaks subdirectory


【解决方案1】:
(for /r "C:\1" %%f in (*.txt) do type "%%f")>"C:\2\x.txt" 2>&1

将整个for 循环放入一个代码块中,然后将整个事情重定向一次。 2>&1 表示“将 STDERR(流 2)写入与 STDOUT(流 1)相同的目的地”

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 2023-04-07
    • 2014-02-24
    • 2020-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多