Convierta archivos de texto ANSI a UTF8 en la línea de comando de Windows

Convierta archivos de texto ANSI a UTF8 en la línea de comando de Windows

Me gustaría convertir un archivo de texto codificado en ANSI (Win 1252) a UTF8 sin BOM, idealmente mediante una llamada de línea de comandos. Mi caso de uso: exporto archivos .tex de Stata que quiero compilar con LuaLaTeX. Stata aparentemente no soporta UTF8, LuaLaTeX no soporta nada más y por lo tanto se ahoga con algunos caracteres que no son ASCII. Desde dentro de Stata puedo llamar comandos de shell, por lo que sería bueno si pudiera hacer la conversión sobre la marcha desde mis scripts de Stata.

Lo ideal sería poder llamar a un comando como, por ejemplo convert2UTF.cmd file.tex, . Otra buena opción sería realizar alguna conversión por lotes de archivos dentro de una carpeta (por ejemplo, convertir todos los archivos con *stata.tex). Además, sería fantástico si la solución funcionara con las herramientas predeterminadas de Windows (mínimo Win 7, incluso mejor XP).

Se han hecho preguntas similaresaquíantes. ElEnfoque Cygwin/GnuWin32es problemático ya que me gustaría poder realizar la conversión sin tener que instalar software adicional en una máquina. Elenfoque de powershellparece prometedor, pero aparentemente out-file -en utf8guarda el archivo con BOM.

Otro enfoque de PowerShellque parece convertirse a UTF8 sin BOM es

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

Desafortunadamente no puedo entender cómo ejecutarlo. Lo guardé como un script de PowerShell en la misma carpeta que los archivos .tex, pero cuando lo ejecuto, no los toca. Entonces aparentemente falta algo. No hace falta decir que mi conocimiento de PowerShell es casi nulo. Además, me gustaría pasar un nombre de archivo como argumento cuando lo llamo desde Stata.

Respuesta1

Creo que puedes intentar utilizar un script y ADODB.Streamun objeto VBS.

Búsqueda de Google: "vbs convierte archivos ansi a utf-8"

información relacionada