我想使用 Windows 10 批处理文件连接多个编码为 UTF8+BOM 的文本文件。我想在每个文件之间添加一个空行。我使用了如下所示的 TYPE 命令,但我发现由于每个文件上都有一个 UTF-8 BOM,因此生成的输出文件中间有 BOM。我也尝试了 COPY 命令,它做了同样的事情。
示例 1
ECHO -- File start >OUTPUT.TXT
TYPE file1 >>OUTPUT.TXT
ECHO( >>OUTPUT.TXT
TYPE file2 >>OUTPUT.TXT
ECHO( >>OUTPUT.TXT
.
.
.
示例 2
COPY header+file1+blankline+file2+blankline+... OUTPUT.TXT
我以为 TYPE 不会回显文字字符,而是使用 BOM 来确定文件编码,以便能够正确显示文件。显然不是。 :-( TYPE 命令根本不理解 Unicode 吗?如果是 UTF-16 文件,它真的会在中间输出空字符吗?
有什么替代方案?我需要使用 PowerShell 吗?