Что-то вроде:
echo \ufeff > output.csv
type input.csv >> output.csv
Где \ufeff
- это спецификация UTF-8, а input.csv
- это текстовый файл UTF-8.
Как указать символ UTF-8 в cmd?
Спасибо @ott за советы. Вот как это сделать:
Используйте Notepad++ с плагином TextFX
Создайте пакетный файл addbom.bat
в Notepad++, затем Главное меню> Кодировка> Кодировать в UTF-8 без спецификации
Введите следующее:
@echo off
set "BOM=EF BB BF"
<nul set /p = %BOM%> output.csv
type %1 >> output.csv
Выберите EF BB BF
затем Главное меню> TextFX> Преобразование TextFX> Преобразование шестнадцатеричного текста в текстовое. Это изменяет текст на:
@echo off
set "BOM="
<nul set /p = %BOM%> output.csv
type %1 >> output.csv
Сохраните файл, затем в командной строке запустите addbom bad.csv
. Ваша спецификация csv будет в output.csv
<nul set /p=
- это то же самое, что и echo
но не выводит новую строку