Linha de comando do Windows para concatenar vários arquivos UTF-8 com BOM usando

1

Eu quero concatenar vários arquivos de texto, codificados como UTF8 + BOM, usando um arquivo de lote do Windows 10. Entre cada arquivo, quero adicionar uma linha em branco. Eu usei o comando TYPE como mostrado abaixo, mas descobri que, como cada arquivo tem uma BOM UTF-8, o arquivo de saída resultante tem BOMs no meio dele. Eu também tentei o comando COPY e fiz o mesmo.

Exemplo 1

ECHO -- File start >OUTPUT.TXT
TYPE file1 >>OUTPUT.TXT
ECHO( >>OUTPUT.TXT
TYPE file2 >>OUTPUT.TXT
ECHO( >>OUTPUT.TXT
.
.
.

Exemplo 2

COPY header+file1+blankline+file2+blankline+... OUTPUT.TXT

Eu esperava que o TYPE não fizesse eco dos caracteres literais, mas usaria a BOM para determinar a codificação do arquivo para que ele exibisse o arquivo corretamente. Aparentemente não. :-( O comando TYPE não entende nada do Unicode? Se fosse um arquivo UTF-16, ele realmente teria caracteres nulos entre eles?

O que é uma alternativa? Preciso usar o PowerShell?

    
por Moby Disk 17.05.2018 / 17:59

0 respostas