1

Я хочу объединить несколько текстовых файлов, которые закодированы как UTF8+BOM, используя пакетный файл Windows 10. Между каждым файлом я хочу добавить пустую строку. Я использовал команду TYPE, как показано ниже, но обнаружил, что, поскольку в каждом файле есть спецификация UTF-8, в результате выходной файл содержит спецификации в середине. Я также попробовал команду 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 не будет отображать буквальные символы, но вместо этого будет использовать спецификацию для определения кодировки файла, чтобы он мог правильно отобразить файл. Очевидно нет. :-( Команда TYPE вообще не понимает Unicode? Если бы это был файл UTF-16, то действительно ли он выводил бы ноль символов между ними?

Какая альтернатива? Нужно ли использовать PowerShell?

0