[AYUDA] [BATCH] Como imprimir "€" en pantalla.

Iniciado por .:Xx4NG3LxX:., 7 Marzo 2020, 21:32 PM

0 Miembros y 1 Visitante están viendo este tema.

.:Xx4NG3LxX:.

Hola, bueno, como mencioné en el título, quisiera saber como mostrar el signo de Euro (€) en Batch. Quiero esto, porque estoy haciendo un encriptador (lo postearé cuando lo termine), ya intenté plasmarlo en un .txt, y nada, no funcionó... Probé con la fuente "Terminal" del notepad, y tampoco funcionó...

Gracias por leer!
"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"




.:Xx4NG3LxX:.

"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"



e

#3
Cita de: .:Xx4NG3LxX:. en  8 Marzo 2020, 01:30 AM
No hallé solución. Pero gracias...

Haber, el problema es que ese símbolo es un carácter que no está dentro del ASCII común/estándar, para solucionarlo deberías cambiar el cmd a UTF-8.

Prueba añadiendo chcp 65001 antes de impartir el carácter.
e

.:Xx4NG3LxX:.

En el código de prueba, puse:

Código (dos) [Seleccionar]

@echo off
chcp 65001
Echo €
pause


Y la salida es...

Citar
Pβgina de c¾digo activa: 65001

Presione una tecla para continuar . . .

Luego lo intenté con Lucida Console como fuente, y esta fue la salida.

Citar
Pβgina de c¾digo activa: 65001

ٱ
Presione una tecla para continuar . . .

Lo curioso, es que lo volví a intentar, y me mostró esto:

Citar
El sistema no puede escribir en el dispositivo especificado.
Presione una tecla para continuar . . .

Estoy un poco confundido.
"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"



EdePC

Saludos,

- Si vas a imprimir caracteres desde un archivo Batch debes de guardar dicho archivo con la codificación UTF-8, dependiendo de tu editor de texto la opción de guardar bajo cierta codificación debe estar disponible.

- Para que se entiendan tanto el archivo batch como la CMD ambos deben "hablar el mismo idioma" o por lo menos el que va a interpretar o escuchar tiene que abarcar una codificación que incluya a la otra. Por ejemplo si guardas tu Batch como utf-8 pero la Cmd solo entiende Ansi (Windows 1252) no se va a interpretar bien.

El siguiente ejemplo me funciona correctamente, primero se guarda la codificación actual en una variable _chcp, luego cambia la codificación a utf-8 e imprime €uro, al final restablece la codificación.

Código (dos) [Seleccionar]
@Echo Off

For /F "tokens=5" %%a In ('ChCp') Do Set _chcp=%%a
ChCp 65001 >nul
Echo €uro
ChCp %_chcp% >nul

Pause

.:Xx4NG3LxX:.

Perdón por la ausencia. He probado el script, pensé que funcionaria, y me dijo que no podía escribir en el dispositivo especificado.
"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"