Conversión de archivo de texto a UTF-8 en el símbolo del sistema de Windows

17

Necesito convertir un archivo de texto al formato UTF-8 a través del símbolo del sistema de Windows. Esto debe hacerse en otra máquina y no tengo derechos para instalar software en esa máquina. Necesito algo como:

c:\notepad   source-file target-file --encoding option

¿Existe una utilidad de símbolo del sistema de Windows que pueda hacerlo?

usuario1107888
fuente

Respuestas:

29

Necesito convertir un archivo de texto a formato utf-8 a través del símbolo del sistema de Windows

Puede hacer esto fácilmente con PowerShell:

Get-Content .\test.txt | Set-Content -Encoding utf8 test-utf8.txt

Otras lecturas

DavidPostill
fuente
Además, debe cambiar a powershell para ejecutar el comando y luego salir de él para volver al símbolo del sistema de Windows.
user1107888
En efecto. O ejecútelo directamente en un shell de PowerShell.
DavidPostill
@DavidPostill alguna idea de cómo podemos convertir más de un archivo, es decir, el procesamiento de archivos por lotes con la misma línea de comando?
vibs2006
1
@ vibs2006 Use un ForEachbucle. Ver ForEach - PowerShell - SS64.com .
DavidPostill
¿Este método se convertirá en UTF-8 o UTF-8-BOM sin formato?
Cale Sweeney el
2

Uso iconvdel paquete GNUWin32. Es mucho más rápido, especialmente si sus archivos tienen aproximadamente o más de 1 Gb.

"C:\Program Files (x86)\GnuWin32\bin\iconv.exe" -f cp1251 -t utf-8 source.txt > result.txt
Raul Nk
fuente
que hace la cp1251bandera
lacostenycoder
Es la codificación de entrada. en.wikipedia.org/wiki/Windows-1251
nadre
2

Aquí está para cada archivo convertido * .text a archivo * .sql:

foreach ($file in get-ChildItem *.txt) {
    Echo $file.name
    Get-Content $file | Set-Content -Encoding utf8 ("$file.name" +".sql")
 }
nobjta_9x_tq
fuente
después de ejecutar algún archivo sql, en algún momento error, decidí usar Linux con iconv command =))
nobjta_9x_tq