如何使用批处理脚本合并两个文本文件

how to combine two text files using batch script

如何使用批处理脚本删除字符串并替换为在文本文件中找到的内容。

test.txt

Version: 4.5.0
Import:
   //MPackages/Project/config/abc.txt                       #head
   //Packages/Project/config/cde.txt                        #head
View: 24234
  //MPackages/Project/config/ac.txt                     #head

删除 "Import:" 和 "View:" 之间的任何文本,并将其替换为示例文本文件中的内容..

sample.txt

1
2
3

期望输出

Version: 4.5.0
Import:
   1
   2
   3
View: 24234
   //MPackages/Project/config/ac.txt                     #head

您可以使用纯批处理来完成此操作,但稳健的解决方案实际上非常复杂。我几乎已经不再使用纯批处理进行文本处理了。

相反,我使用 JREPL.BAT - 一种混合 JScript/batch 正则表达式文本处理器,可在任何 Windows 从 XP 开始的机器上本地运行。

下面的一行在命令行和批处理脚本中都可以正常工作。它假定 "Import:" 和 "View:" 只出现一次。

jrepl "^" "   " /f sample.txt | jrepl "^(Import:)[\s\S]*?(^View:)" "+'\r\n'+stdin.ReadAll()+" /j /m /f test.txt /o output.txt