Я хочу объединить несколько текстовых файлов, которые закодированы как 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?