Преобразование текстовых файлов ANSI в UTF8 в командной строке Windows

Преобразование текстовых файлов ANSI в UTF8 в командной строке Windows

Я хотел бы преобразовать текстовый файл(ы) в кодировке ANSI (Win 1252) в UTF8 без BOM, в идеале через вызов командной строки. Мой вариант использования: я экспортирую файлы .tex из Stata, которые я хочу скомпилировать с помощью LuaLaTeX. Stata, по-видимому, не поддерживает UTF8, LuaLaTeX не поддерживает ничего, кроме этого, и поэтому подавляется некоторыми не-ASCII символами. Изнутри Stata я могу вызывать команды оболочки, поэтому было бы неплохо, если бы я мог выполнять преобразование на лету из моих скриптов Stata.

Поэтому в идеале я хотел бы иметь возможность вызывать команду, например, convert2UTF.cmd file.tex. Другим хорошим вариантом было бы пакетное преобразование файлов в папке (например, конвертировать все файлы с помощью *stata.tex). Кроме того, было бы здорово, если бы решение работало со стандартными инструментами Windows (минимум Win 7, еще лучше XP).

Похожие вопросы были заданыздесьпередПодход Cygwin/GnuWin32проблематично, так как я хотел бы иметь возможность конвертировать без необходимости установки дополнительного программного обеспечения на машину.подход powershellвыглядит многообещающе, но, судя по всему, out-file -en utf8сохраняет файл с BOM.

Другой подход PowerShellкоторый, кажется, преобразуется в UTF8 без BOM

foreach($i in ls -recurse -filter "*.*") {
    if (
        $i.Extension.ToLower() -eq ".tex"
    ) {
        $MyFile = Get-Content $i.fullname 
        [System.IO.File]::WriteAllLines($i.fullname, $MyFile)
    }
}

К сожалению, я не могу понять, как его запустить. Я сохранил его как скрипт powershell в той же папке, что и файлы .tex, но когда я его запускаю, он их не трогает. Так что, видимо, чего-то не хватает. Излишне говорить, что мои знания powershell близки к нулю. Кроме того, я хотел бы передать имя файла в качестве аргумента при вызове его из Stata.

решение1

Я думаю, вы можете попробовать использовать скрипт и ADODB.Streamобъект VBS.

Поиск в Google: «vbs конвертировать файл ansi в utf-8»

Связанный контент