Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: .:Xx4NG3LxX:. en 7 Marzo 2020, 21:32 pm



Título: [AYUDA] [BATCH] Como imprimir "€" en pantalla.
Publicado por: .:Xx4NG3LxX:. en 7 Marzo 2020, 21:32 pm
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!


Título: Re: [AYUDA] [BATCH] Como imprimir "€" en pantalla.
Publicado por: e en 7 Marzo 2020, 21:44 pm
Igual esto te sirve https://stackoverflow.com/questions/18813495/using-non-ascii-characters-in-a-cmd-batch-file (https://stackoverflow.com/questions/18813495/using-non-ascii-characters-in-a-cmd-batch-file)


Título: Re: [AYUDA] [BATCH] Como imprimir "€" en pantalla.
Publicado por: .:Xx4NG3LxX:. en 8 Marzo 2020, 01:30 am
No hallé solución. Pero gracias...


Título: Re: [AYUDA] [BATCH] Como imprimir "€" en pantalla.
Publicado por: e en 8 Marzo 2020, 10:59 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.


Título: Re: [AYUDA] [BATCH] Como imprimir "€" en pantalla.
Publicado por: .:Xx4NG3LxX:. en 8 Marzo 2020, 15:43 pm
En el código de prueba, puse:

Código
  1. @echo off
  2. chcp 65001
  3. Echo
  4.  

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.


Título: Re: [AYUDA] [BATCH] Como imprimir "€" en pantalla.
Publicado por: EdePC en 8 Marzo 2020, 16:18 pm
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
  1. @Echo Off
  2.  
  3. For /F "tokens=5" %%a In ('ChCp') Do Set _chcp=%%a
  4. ChCp 65001 >nul
  5. Echo €uro
  6. ChCp %_chcp% >nul
  7.  


Título: Re: [AYUDA] [BATCH] Como imprimir "€" en pantalla.
Publicado por: .:Xx4NG3LxX:. en 14 Marzo 2020, 01:00 am
Perdón por la ausencia. He probado el script, pensé que funcionaria, y me dijo que no podía escribir en el dispositivo especificado.