Inserta caracteres acentuados en un BATCH


A pesar de no ser tan necesaria la consola de Windows como lo es en sistemas basados en Linux, si nos puede ser de gran utilidad a la hora de realizar tareas comunes mediante scripts batch.

El problema se nos plantea con los caracteres que no incluye el alfabeto inglés. La consola de Windows lee los archivos con codificación ANSI que difiere con la codificación que guardan la mayoría de los editores de texto como Notepad (incluso especificando la codificación ANSI) o Worpad que guardan con ASCII o una mezcla de ambas. Entonces, ¿cómo se podría mostrar por ejemplo la palabra “Canción” mediante un bat? La solución pasa por hacer desde la consola un archivo de texto donde estén guardados estos caracteres especiales, así siempre que necesitemos utilizar alguno con un simple copiar y pegar los tendremos listos. Para conseguirlo seguimos estos pasos:

  • Abrimos una consola (Inicio->Todos los programas->Accesorios->Símbolo del sistema) y escribimos lo siguiente:

echo á é í ó ú ¡ ¿ > conf.txt
notepad conf.txt

  • El archivo generado (conf.txt) se abrirá mostrandonos unos símbolos extraños, incluso invisibles, no importa, esa es su traducción a ASCII, ahora que ya los tenemos podemos comprobar el resultando creando un archivo bat tan simple como:

echo ¨Canci¢n?
pause

  • Al ejecutarlo veremos el texto ¿Canción?. En la siguiente imagen se muestra como conseguir lo mismo con otro comando:
Anuncios