Windows 命令行使用 BOM 连接多个 UTF-8 文件

Windows 命令行使用 BOM 连接多个 UTF-8 文件

我想使用 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 吗?

相关内容