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.


Título: Re: [AYUDA] [BATCH] Como imprimir "€" en pantalla.
Publicado por: AEGF en 8 Junio 2024, 14:59 pm
Bueno yo lo solucione.

En mi caso era el símbolo porcentaje %. Para poder imprimirlo, tan solo hay que marcárlo otra vez . %%. Te devuelve el imbolo %

Prueba a ver si ye funciona con otros símbolos.


Título: Re: [AYUDA] [BATCH] Como imprimir "€" en pantalla.
Publicado por: .:Xx4NG3LxX:. en 11 Junio 2024, 07:25 am
Bueno yo lo solucione.

En mi caso era el símbolo porcentaje %. Para poder imprimirlo, tan solo hay que marcárlo otra vez . %%. Te devuelve el imbolo %

Prueba a ver si ye funciona con otros símbolos.

algo viejo el tema, gracias por comentar, sí lo llegué a solucionar. Saludos


Título: Re: [AYUDA] [BATCH] Como imprimir "€" en pantalla.
Publicado por: AEGF en 11 Junio 2024, 10:06 am
Su no es adecuado para programar. Pero a mi me ayuda para automatizar muchas cosas.


Título: Re: [AYUDA] [BATCH] Como imprimir "€" en pantalla.
Publicado por: Eleкtro en 15 Septiembre 2024, 14:42 pm
Bueno yo lo solucione.

En mi caso era el símbolo porcentaje %. Para poder imprimirlo, tan solo hay que marcárlo otra vez . %%. Te devuelve el imbolo %

Prueba a ver si ye funciona con otros símbolos.

Hola. Me gustaría comentar un par de cosas que os podría ayudar a despejar algunas dudas, ya que los problemas que habéis expuesto son muy distintos:

@AEGF: El problema que describes se debe al uso de un operador reservado por el lenguaje (%). Solución: Debes escapar el operador, repitiendo el mismo caracter (%%) para que este no se trate como un operador, sino como una cadena de texto. En otros casos, el símbolo para escapar un operador es "^", por ejemplo: "^>" (sin las comillas dobles).

@.:Xx4NG3LxX:.: El problema que describiste hace 4 años se debía a un conflicto entre el código de páginas activo en la instancia de la CMD actual, y la codificación actual del archivo de script. Solución: Al utilizar el código de páginas 1252 (que es el que está o estaba en 2020 activo por defecto en tu caso) debes asegurarte de guardar el archivo de script con la codificación Windows-1252, nunca UTF-8 (corrigiendo la afirmación incorrecta del compañero @EdePC) y así evitar problemas visuales al representar caracteres especiales como el símbolo del Euro y vocales con tilde. Y al contrario, si deseas activar el código de páginas 65001, nunca guardes el archivo de script con codifiacación Windows-1252, sino UTF-8 (ahora sí).

Atentamente, Elektro.