Utilidad para cambiar en masa la codificacion de los archivos

Ayer tuve la necesidad de hacer uncambio de codificación masivo de archivos para un proyecto. El caso es que tenía varias decenas de archivos de texto y HTML distribuidos en varios niveles de carpetas. Éstos estaban codificados como UTF-8 y necesitaba disponer de los mismos con codificación ANSI. Dado que es un problema que se puede presentar a menudo en empresas como la nuestra que maneja muchos contenidos decidí escribir una utilidad que hicera conversiones entre diferentes tipos de coficación. Así que mientras veía un par de capítulos de CSI (no me pueden dejar de rodrgíguez, si ya lo digo yo) escribí esta pequeña utilidad que estoy seguro que a muchos les puede resultar de ayuda.


Se trata de FileEncodingConverter.exe. Es una aplicación de consola que toma como parámetros la ruta base que contiene nuestros archivos y, opcionalmente un tipo de codificación a la que queremos convertirlos. Acepta rutas relativas a la carpeta actual y rutas absolutas.


Los tipos de codificación soportados son los siguientes: ANSI, ASCII, Unicode, UnicodeBI (Big Indian), UTF32, UTF7, UTF8.  No se distinguen mayúsculas y minúsculas. Si omitimos la codificación se usará ANSI.


Lo que hace es recorrer la carpeta base especificada y todas sus subcarpetas y transforma todos los archivos con extensiones .htm, .html y .txt a la codificación de destino especificada. Sólo transforma un archivo si es necesario, puesto que si ya está guardado con la codificación especificada no pasa el trabajo inutilmente. Muestra un progreso de los archivos que va transformando, y al final muestra un resumen de lo que ha hecho.


Así, por ejemplo, para transformar todos los archivos de una carpeta y sus subcarpetas de su codificación actual a Unicode Big Indian escribiríamos:



FileEncodingConverter C:Micarpeta UnicodeBI


o para convertir todos a ANSi valdría con poner:



FileEncodingConverter C:Micarpeta


Si no ponemos nada o uamos los parámetros /? o -? muestra una ayuda básica por consola.


Te lo puedes descargar desde aquí: FileEncodingConverter (3,73 KB). Necesitarás la versi´no 2.0 o superior de .NET instalada.


¡Que lo disfrutes!

Sin categoría

16 thoughts on “Utilidad para cambiar en masa la codificacion de los archivos

  1. Buena aplicación. Sencilla pero de lo más útil.

    Aunque si me permites una sugerencia, estaría bien que también incluyeras los ficheros .php en la lista de extensiones.

    O, mejor, dejar al usuario especificar qué extensiones quiere cambiar.

    Por ejemplo,
    c:>FileEncodingConverter -e html php txt -f c:Carpeta -c UTF8

    De esta manera, podrías, también, cambiar el orden de ingreso de parámetros.

    Espero que este comentario te sirva para mejorar tu aplicación.

    Un saludo

  2. Gracias por el comentario.

    La verdad es que resultaría fácil añadir eso que dices. Yo hice la aplicación para una necesidad muy concreta que tenía, de ahí que tampoco pretendiera que fuera ultra-flexible, si bien sirve para bastantes cosas.

    Si quieres pídeme el código fuente y te lo mando para que puedas retocarlo tú mismo 🙂

    Saludos

    JM.

  3. Hola, la verdad es que la aplicación me resulta muy útil, pero tengo el problema de que tengo que cambiar de codificacion archivos de muchos tipos diferentes: .xhtml, .xml, .php, .java, etc. Si te viene bien, podrías mandarme el código fuente (a electrofiloARROBAgmailPUNTOcom), y si no muchas gracias igualmente por leerme.

    Saludos

  4. Hola Edgar:

    Escríbeme un correo facilitándome tu correo electrónico y un poquito de información sobre ti (en qué país o región estás, a qué te dedicas.. para estadísticas nada más) y te lo hago llegar por e-mail.

    Saludos

    JM.

  5. Hola Edgar, a mi tambien me gustaria tener la utilidad para cualquier archivo, me la puedes enviar? o no se como hariamos …

    Saludos,
    Manolo

  6. Manolo:

    Te digo lo mismo que a Edgar:

    Escríbeme un correo (usa el enlace de Contacto dellateral) facilitándome tu correo electrónico y un poquito de información sobre ti (en qué país o región estás, a qué te dedicas.. para estadísticas nada más) y te lo hago llegar por e-mail.

    Saludos

    JM.

  7. ¡Hola!
    Soy Ricardo Naharro y tengo 26 años. Soy de Puertollano (Ciudad Real) y estoy interesado en el código fuente de la utilidad para retocarlo un poco y convertir a utf8 un proyecto en php evitando ciertas carpetas.

    He intentado contactar varias veces mediante el formulario de contacto y siempre me da error. Mi email es rnaharroARROBAsionPUNTOes

  8. ¿Has pensado en liberar el código? ¿O crear el proyecto en sourceforge o alguno por el estilo?
    Seguro muchas personas te lo agradecerían.

  9. hola que tal?
    tengo un problema quiero generar por dos un arbol de mis carpetas y guardarlas en un .txt pero no logro que salgan los caracteres adecuados en lugar de que me salgan estos caracteres formando el arbol “─├┬┴└” salen estos “ÃÀij ”
    quisiera saber como puedo generar un archvo con esos primeros caracteres y no con las “ÃÀij ” por el momento lo que tengo es algo asi C:windows>tree > “c:informe.txt”

  10. Hoola……. leí acerca de la aplicación, y la verdad me sería muy útil, pero la descargue y quise correrla , pero no se puede, solamente aparece la ventana de consola por milisegundos, no hay ning{un mensaje de error ni nada por el estilo… que puede ser..???
    tengo instalado .NET 3.5, abrá algun problema con eso…??

  11. Gracias José M., me acabas de salvar la vida…

    Leí que decías que .txt, .htm y .html, pero a mi me convirtió todo lo que le metí, ¿Has colgado una versión nueva?

    Mi caso concreto fué:
    FileEncodingConverter “ruta_archivos” utf8 *.txt, *.html, *.css, *.js, *.php,*.xml

    No falló ni uno, 2546 archivos en 746 carpetas (todito el joomla 1.5 en menos de 1 minuto.

    – Estoy con Javier Alfonso, a mucha gente le interesaría –

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *