elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Necesito un script para convertir un conjunto de TXT-ANSI a TXT UTF-8!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Necesito un script para convertir un conjunto de TXT-ANSI a TXT UTF-8!  (Leído 18,212 veces)
cron0ar8R

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Necesito un script para convertir un conjunto de TXT-ANSI a TXT UTF-8!
« en: 15 Junio 2013, 19:13 pm »

Hola a todos,

Alguien sabría como crear un script que me convierta un conjunto de archivos de texto en ANSI a UTF-8? No hay que hacer nada más, solo cambiar la codificación.

veréis, tengo unos archivos m3u en formato ansi y necesito pasarlos a utf-8 para que me funcionen en un teléfono chino que no acepta caracteres ansi.

lo que pasa es que cada vez que sincronizo el teléfono tengo que re-codificar a utf-8 para que me funcionen las listas. notepad++ puede hacer la conversión de ansi a utf8 pero tengo que hacerlo uno a uno, por eso prefiero un script.

la idea seria copiar el script dentro de la carpeta donde están todas las listas de reproducción con extensión m3u y luego ejecuto el script y me las pasa todas al formato correcto.

alguien sabe como hacerlo? imagino que solo es una o dos lineas de código pero yo no domino este campo...


Gracias y un saludo


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: Necesito un script para convertir un conjunto de TXT-ANSI a TXT UTF-8!
« Respuesta #1 en: 15 Junio 2013, 19:36 pm »

¿En que lenguaje?.


En línea

cron0ar8R

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Necesito un script para convertir un conjunto de TXT-ANSI a TXT UTF-8!
« Respuesta #2 en: 15 Junio 2013, 20:00 pm »

gracias por responder elektro!
pues me da igual el lenguaje, solo quiero ejecutarlo desde windows... imagino que eso será un .bat que se puede editar con el notepad  :P
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: Necesito un script para convertir un conjunto de TXT-ANSI a TXT UTF-8!
« Respuesta #3 en: 16 Junio 2013, 23:40 pm »

imagino que eso será un .bat que se puede editar con el notepad  :P
Pues no amigo, en Batch podrías hacerlo a utf-16, pero a utf-8 no.

Por eso la pregunta, ¿de que lenguajes de scripting dispones instalados en tu máquina? xD, en python y ruby es muy fácil.

En VBS sería así:

Código
  1. Set stream = CreateObject("ADODB.Stream")
  2.  
  3. With stream
  4. .Open
  5. .Type     = 2
  6. .Position = 0
  7. .Charset  = "utf-8"
  8. .WriteText CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments(0), 1).ReadAll
  9. .SaveToFile WScript.Arguments(1), 2
  10. .Close
  11. End With
  12.  
  13. Wscript.Quit(0)

Lo he codeado para que puedas pasarle argumentos, de esta manera:
Código
  1. Script.vbs "Archivo ANSI.txt" "Nuevo archivo UTF-8.txt"

Puedes hacer un For en Batch para recorrer todos los archivos de texto:
Código
  1. For %%X in ("*.txt") Do (Script.vbs "%%X" "UTF-8 %%X")

...O puedes usar aplicaciones commandline para convertir entre las distintas codificaciones de texto, como por ejemplo "iconv", o "stringconverter", y usar el FOR que te he mostrado pero con la aplicación que vayas a usar.

Saludos.
« Última modificación: 16 Junio 2013, 23:51 pm por EleKtro H@cker » En línea

cron0ar8R

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Necesito un script para convertir un conjunto de TXT-ANSI a TXT UTF-8!
« Respuesta #4 en: 17 Junio 2013, 17:13 pm »

Hola de nuevo Elektro, gracias por el código.

A ver, no estoy muy documentado que digamos xD

No tengo ningún compilador instalado en mi maquina más allá del de java.

Desconozco si puedo ejecutar ese código directamente o no, no soy programador, solo sé algo de C y hace años que lo toco.

Lo que yo tengo son un conjunto de archivos con extensión .m3u cada uno con un nombre "cualquiera". Entonces, solo quiero un script o aplicativo que me recorra todos los archivos .m3u y que me los guarde con la codificación UTF-8.

Entonces, este código que me has pasado es un script de visual basic, no? entiendo que no necesito instalarme ningún compilador entonces. Dicho esto, qué hago? lo copio en el notepad y lo guardo con extensión .vbs? y el otro código lo guardo como .bat? está listo para ejecutar? o tengo que hacer algo extra?

Creo que en mi caso sería así, no?

  
Código:
For %%X in ("*.m3u") Do (Script.vbs "%%X" "UTF-8 %%X")

Igualmente, voy a probar a ver si funciona...

perdón por preguntar chorradas pero es que no soy del ramo... :D

Un saludo!
En línea

cron0ar8R

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Necesito un script para convertir un conjunto de TXT-ANSI a TXT UTF-8!
« Respuesta #5 en: 17 Junio 2013, 17:25 pm »

Hola de nuevo,

Acabo de probar sin éxito el código. Creo que algo hago mal...

lo que he hecho es crear dos archivos. Uno .vbs y otro .bat.

El .vbs he copiado "a saco" esto:

Código:
Set stream = CreateObject("ADODB.Stream")
    
With stream
    .Open
    .Type     = 2
    .Position = 0
    .Charset  = "utf-8"
    .WriteText CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments(0), 1).ReadAll
    .SaveToFile WScript.Arguments(1), 2
    .Close
End With
    
Wscript.Quit(0)


Y en el .bat he copiado esto:
Código:
For %%X in ("*.m3u") Do (Script.vbs "%%X" "UTF-8 %%X")

Entonces, he copiado los dos archivos en la carpeta de las playlist. En esa carpeta solo hay 14 archivos .m3u. Después del proceso, según notepad++, continúan siendo ANSI.


A ver si me puedes echar otro cable campeón! xD  ;D

Gracias y un saludo
« Última modificación: 17 Junio 2013, 17:27 pm por cron0sS6AR » En línea

cron0ar8R

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Necesito un script para convertir un conjunto de TXT-ANSI a TXT UTF-8!
« Respuesta #6 en: 20 Junio 2013, 15:28 pm »

perdón por preguntar chorradas pero es necesario que instale algún compilador para que me funcione? o simplemente lo guardo con extensión .vbs y lo ejecuto? es que he hecho eso y no me va. Creo que hago algo mal, a ver si alguien me puede echar una manita  :D

gracias otra vez


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: Necesito un script para convertir un conjunto de TXT-ANSI a TXT UTF-8!
« Respuesta #7 en: 20 Junio 2013, 16:17 pm »

Después del proceso, según notepad++, continúan siendo ANSI.
¿Y que te dice el Notepad de toda la vida?

Verifiqué que el código era correcto, convierte archivos ANSI a UTF-8.

No existe compilador para VBS, lo estás ejecutando corréctamente.

Prueba a llamarlo diréctamente desde la CMD:
Código:
wscript.exe "Script.vbs" "archivo ansi.txt" "nuevo archivo UTF-8.txt"

...Y comprueba la codificación del nuevo archivo.

Saludos!
En línea

cron0ar8R

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Necesito un script para convertir un conjunto de TXT-ANSI a TXT UTF-8!
« Respuesta #8 en: 20 Junio 2013, 16:22 pm »

gracias por responder electro. Al intentar ejecutarlo desde el cmd me sale esto:
Código:
---------------------------
Windows Script Host
---------------------------
No existe ningún motor de secuencia de comandos para la extensión de archivo ".vbs".

---------------------------
Aceptar  
---------------------------



he ejecutado exactamente el mismo código que me has puesto sin cambiar nada. o sea,

Código:
wscript.exe "Script.vbs" "archivo ansi.txt" "nuevo archivo UTF-8.txt"



[MOD:] No hagas doble post en 60 segundos :-/
« Última modificación: 20 Junio 2013, 21:56 pm por EleKtro H@cker » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: Necesito un script para convertir un conjunto de TXT-ANSI a TXT UTF-8!
« Respuesta #9 en: 20 Junio 2013, 22:05 pm »

gracias por responder electro. Al intentar ejecutarlo desde el cmd me sale esto:
hmmm...

La verdad es que no encuentro información al respecto sobre ese extraño error.

¿Usas un Windows modificado? (Lease Windows SuperLite, etc)

En lugar de usar "wscript.exe" en el código que te dije, prueba con "cscript.exe", ¿Te funciona?.

Me parece que algo falla en tu WScript, prueba a repararlo con estos tres comandos diréctamente en la CMD:

Código:
regsvr32 VBScript
assoc .vbs=VBSFile
Ftype VBSFile="%SystemRoot%\System32\WScript.exe" "%1" %*
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
necesito ayuda para convertir una extension .asf a wmv
Multimedia
tequilagtx 3 3,266 Último mensaje 10 Febrero 2006, 07:45 am
por Sourraund
Que necesito para convertir VHS a DVD
Multimedia
kichan 1 1,923 Último mensaje 3 Mayo 2006, 20:28 pm
por Sourraund
Necesito ayuda para convertir C a VB
Programación Visual Basic
erick185 1 1,507 Último mensaje 30 Junio 2006, 04:43 am
por BenRu
Concatenar un conjunto de palabras para la misma búsqueda con find o findstr
Scripting
gregory90 9 6,380 Último mensaje 26 Noviembre 2019, 19:50 pm
por andres3626
Problema al convertir un script en ejecutable « 1 2 »
Scripting
invu 11 6,372 Último mensaje 26 Junio 2021, 04:21 am
por painpills
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines