Converter arquivo (s) de texto ANSI em UTF8 na linha de comando do Windows

2

Gostaria de converter (um) arquivo (s) de texto codificado em ANSI (Win 1252) em UTF8 sem BOM, de preferência através de uma chamada de linha de comando. Meu caso de uso: Eu exporto arquivos .tex do Stata que eu quero compilar com o LuaLaTeX. O Stata aparentemente não suporta o UTF8, o LuaLaTeX não suporta nada e, portanto, engasga com alguns caracteres não-ASCII. De dentro do Stata eu posso chamar comandos shell, então seria legal se eu pudesse fazer a conversão rapidamente a partir dos meus scripts Stata.

Então, idealmente, gostaria de poder chamar um comando como, por exemplo, %código%. Outra boa opção seria uma conversão em lote de arquivos dentro de uma pasta (por exemplo, converter todos os arquivos com * stata.tex). Além disso, seria ótimo se a solução funcionasse com as ferramentas padrão do Windows (Win mínimo 7, XP ainda melhor).

Perguntas semelhantes foram feitas aqui antes. A abordagem do Cygwin / GnuWin32 é problemática, pois eu gostaria de poder converter sem ter que instalar software extra em uma máquina. A abordagem do powershell parece promissora, mas aparentemente convert2UTF.cmd file.tex salva o arquivo com o BOM.

Outra abordagem de powershell que parece converter para UTF8 sem 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)
    }
}

Infelizmente, não consigo descobrir como executá-lo. Eu salvei-o como um script powershell na mesma pasta que os arquivos .tex, mas quando eu o executo, ele não toca neles. Então aparentemente há algo faltando. Escusado será dizer que o meu conhecimento powershell é quase nada. Além disso, gostaria de passar um nome de arquivo como um argumento, ao chamá-lo de Stata.

    
por dpprdan 27.02.2013 / 13:49

1 resposta

-1

Acho que você pode tentar usar o script VBS e o ADODB.Stream object.

Pesquisa do Google: "vbs converte o arquivo ansi para utf-8"

    
por 27.02.2013 / 14:53