Como creo un archivo .bat para abrir un cajón monedero.
Necesito crear un archivo .bat para abrir un cajón monedero conectado a una impresora tm u220 mediante el puerto rj11
3 Respuestas

Yo he conseguido hacer lo siguiente:
He creado un acceso directo a WordPad con el comando /pt, y abriendo un archivo txt en blanco (open.txt). Básicamente abre, manda a imprimir a la impresora compartida especificada y se cierra.
Acceso directo:
"C:\Program Files\Windows NT\Accessories\wordpad.exe" /pt "c:\open.txt" \\NOMBREEQUIPO\IMPRESORA
A mí me funciona.
- Compartir respuesta


Por lo que he visto en la red (ftp://ftp.epson.com/latin/drivers/Impresoras/FiscalEASA/Manual/umTMU220AFrevA1104.pdf página 58) el comando para abrir el cajón es el 0707. Asumo que debe ir precedido de Escape pero tendrías que confirmármelo.
Para enviar este tipo de combinaciones de caracteres que incluyen el "Escape" (carácter 0x1B en hexadecimal o 27 en ASCII) mediante un bat lo más sencillo es crearse un pequeño archivillo con el contenido exacto (supongamos que le hemos llamado AbreCaja.txt) que se quiere enviar y luego usar el comando:
TYPE AbreCaja.txt > LPT1
Asumiendo que el archivo AbreCaja.txt está en la misma carpeta que el bat (sino fuera así habría que precederlo del path) y que la impresora de la que hablamos está conectada al puerto LPT1.
Para crear el archivo lo más cómodo es usar un editor hexadecimal (por ejemplo el UltraEdit). Si tienes problemas con ello te puedo fabricar yo el archivillo, una vez que me confirmes que las cosas son como imagino. Hay que asegurarse de cual es la configuración exacta del comando en cuestión porque no es lo mismo que fuera 0x1B0707 (ESC77) o que fuera 0x1B30373037 (ESC0707).
Ya me contarás.

He seguido buscando información sobre el comando de apertura del cajón en la Epson TM U220 y en esta página http://www.itsmetor.com/wp/?p=181 parecen indicar algo bastante distinto: 27,112,0,25,250 (0x1B7000FA). Como no tengo ninguna experiencia con estas impresoras no puedo decidir si alguno de ellos es el correcto. Pero si tú lo sabes no habrá problema en conseguir abrir el cajón desde un BAT.

MMMMM? :)
no entendí, mira la verdad yo no se mucho de esto, por eso ocupo ayuda, puedes crear un ejemplo de un bat para abrir una epson tm-u220 que imprime por puerto lpt1 y donde el cajón monedero esta conectado a la impresora por el puerto rj11

Yo no tengo la posibilidad de probar con la impresora que dices y no tengo la documentación que me asegure que el comando es el que he encontrado.
Te dejo en este enlace el "archivillo" del que hablaba:
http://sdrv.ms/17wwxQt
Solo tienes que copiarlo en la carpeta que te venga bien. Luego copias lo siguiente un archivo al que puedes llamar PRUEBA.BAT en la misma carpeta que el archivillo y luego lo ejecutas:
TYPE AbreCaja.txt > LPT1
Dime si te ha funcionado.
Por los problemas relacionados con el carácter Escape no es posible integrar el texto del comando en el propio BAT.
Por otra parte estoy de vacaciones y no tengo buena cobertura Wifi por lo que hasta dentro de una semana es posible que no pueda revisar mi correo.
Suerte,
GGG
- Compartir respuesta
Excepcional apunte, ¿pero no esta disponible el enlace al archivo.txt. Me lo podrías facilitar de nuevo o poner aquí el texto que contiene? Un saludo - Andres Orion
Hola.El texto está dicho en una de las respuestas. Es 0x1B700019FA (en hexadecimal). Si tienes problemas para crear un archivo de estas características (hace falta, creo, un editor hexadecimal) dímelo y vuelvo a subirlo.Saludos,GGG - gggirald
Hola, el problema es q necesito hacerlo desde un equipo que esta en la red y no está conectado directamente a la impresora, además el equipo que la tiene conectada no tiene puerto nativo LPT1, sino ESDPRT001. Una opción es la de cambiar la impresora de equipo, pero por como esta configurada la red sería la última opción. Muchas gracias de antemano - Andres Orion
Hola. Si te la puedes asignar remotamente (con NET USE LPT1: \\nombreMaquina\nombreImpresora) para ti ya será la LPT1 aunque no tenga puerto paralelo nativo. Para ello el equipo que la tiene debe compartirla y asignarle un nombre (que será el que se incluya en el NET USE). En cuanto al archivo, ¿lo necesitas o no?Saludos,GGG - gggirald
El problema es que existen dos matriciales, un equipo comparte la de tickets (puerto virtual) y otro equipo comparte la de albaranes (LPT1). Así en todos los equipos existen estas dos impresoras, y una de ellas (la que no tiene el cajón) usa este puerto LPT1. En cuanto a los ficheros son estos:Archivo .BAT: "TYPE AbreCaja.txt > LPT1"AbreCaja.txt: "0x1B700019FA"Lo único que puedo probar es a cambiar el numero de LPT y usar el comando de red, para que no haya conflicto con la otra:NET USE LPT2:\\nombreMaquina\NombreImpresoraY ya como última solución cambiar la instalación de las impresoras entre los equipos, para que estén conectadas de forma inversa a la actual. - Andres Orion
Por supuesto que debería funcionar sobre LPT2 igual que sobre LPT1. Antes de enviarle el archivillo prueba a enviar cualquier archivo de texto (algo como TYPE PRUEBA.TXT > LPT2 desde una ventana CMD después de haber hecho el NET USE). En cuanto a los ficheros el BAT solo sería necesario si se va a hacer algo más dentro de él (por ejemplo, el NET USE). Si solo se va a hacer el TYPE basta con teclearlo directamente desde una ventana CMD. El archivo AbreCaja.txt tiene que contener 5 caracteres, lo que corresponden a los códigos hexadecimales 0x1B (carácter Escape), 0x70 (corresponde a la "p"), 0x00 (carácter null, irrepresentable), 0x19 (carácter flecha abajo) y 0xFA (punto elevado) - gggirald
Tengo el mismo problema, me he bajado el UltraEdit y he intentado hacerlo yo. Pero no sé muy bien qué tengo que hacer. He intentado poner "0x1B700019FA" en un fichero de texto y luego poner TYPE nombrefichero.txt > LPT1. Y lo que haces es imprimirme el contenido del fichero. Mi impresora es la TM U210, por lo que si no me equivoco el código de escape es el mismo.¿Algún consejo?. - Sorlac AA
Si tienes el UltraEdit escribe cualquier cosa, una "a" por ejemplo para que se habilite el botón H que te permitirá pasar al modo hexadecimal. Una vez en modo hex te pones encima del código de la "a" (un 61) y escribes 1b y luego sigues escribiendo los otros códigos (70 00 19 FA). Cuando hayas terminado vas a File, Save As y lo guardas con el nombre que quieras. Antes de hacer el type a la LPT1 haz un type directo, tiene que salirte algo como ←p ↓· Si te sale algo así ya puedes enviarlo a la impresora. - gggirald
Lo he conseguido, muchas gracias por resolverme la duda. - Sorlac AA


Estoy intentado abrir el cajón monedero a través de comandos CMD la idea que tenía era mandar a imprimir un txt y como tenia configurada la impresora térmica para que se abriera luego de que imprimiese pensé que funcionaría, pero ni siquiera corta el papel. Me pudieran ayudar o darme una idea como puedo hacerlo Mi correo es [email protected].
- Compartir respuesta
Tal como has planteado la cuestión (como respuesta a otra pregunta) no vamos a poder trabajar contigo de forma normal. Lo razonable sería que abrieras una nueva pregunta. En todo caso deberías indicar la marca y modelo de la impresora y la forma en que el cajón monedero está conectado a la impresora. - gggirald
