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!

Archivado en:
Comparte este post:

Comentarios

# Pere David Porquer said:

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

Tuesday, September 25, 2007 12:50 PM
# José M. Alarcón Aguín said:

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.

Tuesday, September 25, 2007 8:23 PM
# JimmySky said:

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

Friday, November 23, 2007 6:44 PM
# Edgar Rodriguez said:

Me parecio bastante util, te molestaria compartir el código o dar tips de como hacer este cambio en la codificación.

Gracias

Tuesday, January 08, 2008 4:29 PM
# José M. Alarcón Aguín said:

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.

Tuesday, January 08, 2008 4:38 PM
# Manolo Arizaga said:

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

Saludos,

Manolo

Thursday, January 17, 2008 1:11 PM
# José M. Alarcón Aguín said:

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.

Thursday, January 17, 2008 5:21 PM
# Ricardo Naharro said:

¡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

Wednesday, January 30, 2008 9:44 AM
# Javier Alfonso said:

¿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.

Friday, May 23, 2008 5:52 PM
# Henry said:

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"

Friday, January 09, 2009 5:04 AM
# miguel angel said:

hola soy de tuxpan veracruz, mexico y necesito informacion acerca de los Dataset tipados y no tipados. gracias. mi correo miguel_angel_mda_1989@hotmail.com. GRACIAS

Monday, June 22, 2009 5:34 PM
# José M. Alarcón Aguín said:

Hola Miguel Ángel:

Lo siento pero no te puedo escribir para contestarte dudas. Si quieres que haga de tutor para tí tenemos unos cursos excelentes en campusMVP (http://www.campusmvp.com) en los cuales puedes preguntar dudas y se te contestan.

Saludos

JM

Monday, June 22, 2009 6:10 PM
# Cesar said:

Muy buena utilidad en 2 seg convirtió 80 archivos!!

Sunday, August 22, 2010 7:53 AM
# Verónica said:

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...??

Monday, April 25, 2011 6:13 PM
# gAb said:

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 -

Saturday, July 30, 2011 7:34 PM
# José M. Alarcón Aguín said:

Hola gAb:

Efectivamente, hay una versión nueva que saqué unos meses después:

www.jasoft.org/.../PermaLinkaspxguid=4e574ed8-6e6a-4717-bf35-d67ecf8.aspx

Respecto al código, me lo podéis pedir cuando queráis, tal y como digo en el propio post.

Saludos,

Sunday, July 31, 2011 10:44 AM