Detectar tecla shift en un batch JavaScrip

Iniciado por nolo2, 9 Diciembre 2012, 20:05 PM

0 Miembros y 5 Visitantes están viendo este tema.

nolo2

#10
Seguro que no me he explicado bien ......  :D
Segadorfelix-Novlucker gracias por responder, pero es que ya soy mayor para cambiar, ademas creo que no le estais viendo las grandes ventajas de javascrip.
Esta ya en windows, no hay que instalar nada que por otro lado no se puede en ordenadores de Empresa, se sirve de cualquier programa ya instalado para el proceso por lotes de archivos, se puede arrancar de manera gráfica utilizando drag&drop (o como si diga lo de arrastrar sobre el archivo para pasarle datos y que arranque), es interpretado y lo puedes cambiar sobre la marcha para la tarea que te toque ese día etc etc y lo mas importante, algo se de js y ya :-( paso de los 27 por lo que me cuesta bastante aprender cosas nuevas.....
Lo que falla estrepitosamente en el trabajo sobre la consola es en posibilidades propias para dirigir el flujo del programa sin el navegador.

PEjem.
Imaginemos que quiero hacer una operación repetitiva sobre arhivos de imágenes, dibujos, hojas de cálculo o lo que sea. Lo programo y creo un js. Arrastro la carpeta donde tengo los archivos sobre el js y se ejecuta en cada uno de ellos (pej cambiando fecha, título etc).
Hay subcarpetras y dependiendo de que tema sea me interesa o no que también se traten.
Solución habitual: Sie encuentras carpeta pregunta ¿Quiere continuar con las subcarpetas? <Si><No>
Solución que pretendo. Con el mismo js si arratro sobre él con la techa <shift> pulsada se ejecuta incluyendo subcarpetas, si no sólo en el directorio de la carpeta que se arrastra.

Es sólo un ejemplo y hay otras formas de hacerlo como crear pequeñas variantes, llamarlo con un bat etc pero estoy convencido que se puede hacer una llamada a alguna dll o similar y hacerlo como he descrito de forma mas elegante y simpática.

A ver, la pregunta de otra forma. Como puedo llamar y a que utilidad del sistema windows le puedo reclamar que me diga si alguna tecla especial del teclado esta pulsadas por ejemplo en una operación de arrastrar y soltar.

Si consigo aprender eso sería un buen regalo navideño  ;D
A ver si hay Suerte ¡¡¡¡


Segadorfelix

En JS de escritorio y vbs no conozco ninguna forma de captar teclas; una forma que se me ocurre es crear un acceso directo, que se active con SHIFT+Numero o letra, o Control+alt+numero o letra, este podría crear un archivo temporal, que lo captara el JS  que estuviera actuando en ese momento.
Ejemplo:
Se activa el JS para una carpeta y sus archivos, se presiona SHIFT+A, esto crea un archivo que capta el JS y le "dice" que también aplique la acción a las subcarpetas.

No dispongo de código, porque soy mas de batch(aunque estoy estudiando VBS, es bastante recursivo), y con batch+vbs se puede hacer lo anterior.

Suerte y saludos.

nolo2

Muchas gracias Segadorfelix

Es una buena idea pero sigo empeñado en buscar una llamada a un ocx/dll o lo que sea que me lo solucione desde dentro del scrip.
No hay que empeñarse en usar el shift, en el post anterior ya decía yo que hay multiples otras formas como tu muy bién me estas proponiendo, pero voy a seguir intentandolo.

Os lo postearé si lo consigo.

Gracias  :-* y Suerte ¡¡¡

0x5d

Cita de: Novlucker en 10 Diciembre 2012, 15:34 PM
javascript se puede utilizar a nivel de escritorio al igual que vbs :P

Saludos
Jajaja nunca lo había visto :o . Lo que quise decir es que que tiene que ver Batch con Js ._.
¡ SIGUEME EN TWITTER -> @JavierEsteban__ !

Segadorfelix

Cita de: 0x5d en 13 Diciembre 2012, 00:14 AM
Jajaja nunca lo había visto :o . Lo que quise decir es que que tiene que ver Batch con Js ._.
Lo unico es que ambos son de scripting(porque automatizan las cosas), pero de resto, la sintaxis es completamente diferente.
PD:A veces, hay personas que confunden script con batch; tal vez por eso es que nolo2, se referia a JS/script como JS/batch.
Saludos.

0x5d

Cita de: Segadorfelix en 13 Diciembre 2012, 00:20 AM
Lo unico es que ambos son de scripting(porque automatizan las cosas), pero de resto, la sintaxis es completamente diferente.
PD:A veces, hay personas que confunden script con batch; tal vez por eso es que nolo2, se referia a JS/script como JS/batch.
Saludos.
Que sea scripting no quiere decir que sea para automatizar las tareas, es más... Se desarrollan softwares para automatizar todo lo que no queremos hacer a mano, por cuestión de complejidad o tiempo

Saludos, Javier.
¡ SIGUEME EN TWITTER -> @JavierEsteban__ !

nolo2

#16
¡Vale! Va...le ..... :silbar:
Perdonar mi ignorancia pero en ms2 yo utilizaba los .bat para hacer las tareas repetitivas del sistema y ahora lo hago en .js por lo que creía que Javaescrip VBscrip eran los actuales .bat.
No trato ni voy a convencer a nadie.
Ya he comentado antes las ventjas que yo le veo (sin desmerecer lo que se puede hacer en vbs) y ahora lo que comento es que no soy el único, incluso hay programas tan serios como Mephis que lo utilizan para programar salidas y otras cosas.
:-X Salud y Suerte ¡¡¡




Lo planteo de otra forma ... ;D
¿Sabeis de alguna llamada mediante Windows Scripting Host para conocer si la tecla shift esta pulsada o cualquier otra tecla de las que no tienen eco en pantalla como ctrl o alt ?.

Gracias ..... :xD




[MOD] Uda el botón "Editar", Si veo otro doble comentario borraré el mensaje.

Segadorfelix

mmn, no se puede. Se puede presionar teclas, pero no recibirlas

Eleкtro

#18
JS a nivel de escritorio, ¿para que?, pudiendo usar VBS que está mucho más documentado en ese aspecto y hacen "lo mismo" xD

De todas formas si querías sacarle el mayor jugo a Windows deberías haber empezado por PowerShell, eso si que es oficiálmente "el nuevo Batch", y mejor que VBS, obviamente.
Y ya si quieres sacarle hasta la última gota de jugo, utiliza cualquier otro lenguaje de scripting que no venga interpretado de serie en Windows, como Python, Ruby, etc... sobretodo porque ahí es muy fácil hacer lo que necesitas en esta pregunta (Esperar un evento del keyboard).

Sobre lo de esperar un evento del teclado en JS/VBS, no se si será posible natívamente, en "WindowsScriptHost" no existe nada para esperar un evento del teclado, y toda la información que he encontrado es para IE (window.event.keyCode), es tán fácil como buscar en Google un keylogger creado en VBS o JS, no verás ninguno.

Saludos.








nolo2

Bueno, probaré otra cosa pero me va a costar ......

Gracias....