elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Batch que busque un archivo y lo ejecute y ejecutar combinaciones del teclado...
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Batch que busque un archivo y lo ejecute y ejecutar combinaciones del teclado...  (Leído 8,947 veces)
Dsalomon

Desconectado Desconectado

Mensajes: 52


Ver Perfil
Batch que busque un archivo y lo ejecute y ejecutar combinaciones del teclado...
« en: 30 Agosto 2012, 07:25 am »

hol amigos... les saludo desde Guatemala... la verad es que estoy varado en una labor

estoy armando un proyecto que va asi:


1. un script que busque en la carpeta y subcarpeta un archivo ejecutable en donde este... no en C: u otra unidad...
2. correr este ejecutable
3. minimizar el programa con las teclas Alt+Espacio+N (por que este programa no obedece las opciones de iniciar minimizado /m)


probe asi pero no doy con la linea adecuada:


Código:
@echo off
%Cd%
for /d /r %%_ in (*) do (
if exist "%%_\Barra.exe" (
Start Barra.exe
)
)
exit


y tambien se me ocurrea algo mas simple:

Código:

@echo off
START /D  /S Barra.exe
exit

el codigo para correr Alt+Espacio+N no lo encuentro...  :-(


agradecere cualquier sugerencia...





En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.866



Ver Perfil
Re: Batch que busque un archivo y lo ejecute y ejecutar combinaciones del teclado...
« Respuesta #1 en: 30 Agosto 2012, 08:42 am »

este programa no obedece las opciones de iniciar minimizado /m
El parámetro es "/MIN", no "/M", ¿Estás seguro de haberlo comprobado escribiendo el parámetro que te dije?.

De todas formas estás utilizando mal el FOR y el START en la condicional, Con esto es suficiente:

Código
  1. @echo off
  2. FOR /R %%_ in (*barra.exe) do ("%%_")

No puedes enviar pulsaciones de teclado usando Batch, Pero puedes recurrir a algo tán sencillo como VBS:

Código
  1. @echo off
  2.  
  3. Set WAIT=2000
  4. :: WAIT = Los milisegundos de espera antes de que la aplicación "barra.exe" se termine de cargar.
  5. :: Si la aplicación no está cargada, Mandar la combinación de teclas no sirve para nada...
  6.  
  7. FOR /R %%_ in (*barra.exe) do (Start /B CMD /C "%%_")
  8.  
  9. (
  10. Echo wscript.Sleep %WAIT%
  11. Echo Set oWSH = CreateObject^("WScript.Shell"^)
  12. Echo oWSH.SendKeys "%% N"
  13. )>"%TEMP%\sendkeys.vbs"
  14.  
  15. Start /B wscript "%TEMP%\sendkeys.vbs"
  16.  

Saludos


En línea



Valium7

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: Batch que busque un archivo y lo ejecute y ejecutar combinaciones del teclado...
« Respuesta #2 en: 30 Agosto 2012, 16:47 pm »

¿Alguien explica las lineas mas importantes?cuando busca el file no veo xD
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.866



Ver Perfil
Re: Batch que busque un archivo y lo ejecute y ejecutar combinaciones del teclado...
« Respuesta #3 en: 30 Agosto 2012, 17:35 pm »

¿Alguien explica las lineas mas importantes?cuando busca el file no veo xD

Código
  1. FOR /R %%_ in (*barra.exe) do ("%%_")

El comando busca en las subcarpetas del directorio actual todos los archivos que contengan en su nombre "barra.exe", Y guarda la ruta completa del file encontrado en la variable "%%_", Y luego ejecuta el file.

Espero haberte aclarado la duda ::)

Saludos
« Última modificación: 30 Agosto 2012, 17:39 pm por EleKtro H@cker » En línea



Dsalomon

Desconectado Desconectado

Mensajes: 52


Ver Perfil
Re: Batch que busque un archivo y lo ejecute y ejecutar combinaciones del teclado...
« Respuesta #4 en: 1 Septiembre 2012, 10:38 am »

eres la ley... bueno el codigo...
perdona la insistencia me podrias explicar como personalizar el VBS, la verdad no tengo experincia con ese lenguaje... pero me gustaria saber como decirle que teclas exactamente corra para poder decirle que haga mas cosas, ademas me gustaria quitar el mensaje de que el archivo no fuen encontrado, por si muevo a otra ubicacion el batch... muchas gracias... por tu tiempo y corrección, seguimos aprendiendo...
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.866



Ver Perfil
Re: Batch que busque un archivo y lo ejecute y ejecutar combinaciones del teclado...
« Respuesta #5 en: 1 Septiembre 2012, 12:44 pm »

me podrias explicar como personalizar el VBS, me gustaria saber como decirle que teclas exactamente corra
http://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.send.aspx
Ahí tienes la referencia de las teclas especiales. Si quieres enviar teclas alfabéticas solo tienes que escribirlas tal cual.

Te explico el code de antes por si te ayuda a entenderlo mejor:
Código
  1. Echo oWSH.SendKeys "%% N"
% equivale a "ALT"    (Pero uso dos %% solamente para poder escribir el simbolo en el archivo.)
(un espacio) equivale a "ESPACIO"
N equivale a "N"
PD: Si no te funciona, haz la combinación de teclas así:
Código
  1. Echo oWSH.SendKeys "%%( N)"

me gustaria quitar el mensaje de que el archivo no fuen encontrado
¿Que mensaje? :xD A mi no me sale ninguno :-/, ¿Cuando te aparece ese mensaje?


Saludos
« Última modificación: 1 Septiembre 2012, 12:46 pm por EleKtro H@cker » En línea



Dsalomon

Desconectado Desconectado

Mensajes: 52


Ver Perfil
Re: Batch que busque un archivo y lo ejecute y ejecutar combinaciones del teclado...
« Respuesta #6 en: 1 Septiembre 2012, 12:48 pm »

¿Teacher se puede especificar que ventana solo por el nombre de la misma para minimizar?


creo que entendi asi:

1.   Le dice que tiene que esperar a cargar la aplicación “MIPROGRAMA.exe”

2.   Busca los archivos que se llamen “MIPROGRAMA.exe” dentro de las carpetas y subcarpetas y guarda el nombre del archivo en una variable

3.   Inicia la consola de Windows en la misma ventana e ejecuta lo que encontró y guardo en la variable %%_ y lo inicia, o sea corre el programa deseado

4.   Después en código le dice que espere

5.   Después crea un código VBS

6.   Envía las teclas Alt+espacio+N  (%% N) No entiendo bien pero pareciera %%  que son 2 veces ALT

7.   Envía lo que se escribió a un archivo temporal llamado Sendkeys.vbs

8.   En la misma ventana de consola llama al Script Sendkeys.vbs


y si quisiera que en lugar de ALT+barra+N fuere Control+N.... (para otra aplicacion)

por que probe asi

Código:
"%^( N)"

y asi

Código:
"^( N)"


pero no me funciono

« Última modificación: 1 Septiembre 2012, 13:05 pm por Dsalomon » En línea

Dsalomon

Desconectado Desconectado

Mensajes: 52


Ver Perfil
Re: Batch que busque un archivo y lo ejecute y ejecutar combinaciones del teclado...
« Respuesta #7 en: 1 Septiembre 2012, 13:36 pm »

teacher:  todo se ejecuta correctamente pero la ventana del DOS queda abierta... como podria solucionar esto...

tambien pregunto como hago para que borre en automatico el archivo temporal que crea...?


Gracias por tu ayuda hasta ahora todo va marchando bien gracias a tu intervencion...
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.866



Ver Perfil
Re: Batch que busque un archivo y lo ejecute y ejecutar combinaciones del teclado...
« Respuesta #8 en: 1 Septiembre 2012, 14:53 pm »

¿Teacher se puede especificar que ventana solo por el nombre de la misma para minimizar?
Puedes activar la ventana:
Código
  1. Set objShell = WScript.CreateObject("WScript.Shell")
  2. objShell.AppActivate "TITULO DE LA VENTANA"
PD: O usando aplicaciones de terceros como CMDOW o NIRCMD en batch.

Control+N
Código
  1. objShell.SendKeys "^N"
PD: También puedes usar NIRCMD para enviar combinaciones.

teacher:  todo se ejecuta correctamente pero la ventana del DOS queda abierta... como podria solucionar esto...
Prueba así:
Código:
FOR /R %%_ in (*barra.exe) do (Echo "%%_"| Find " " >NUL && (Start /B "%%_") || (Start /B %%_))

tambien pregunto como hago para que borre en automatico el archivo temporal que crea...?
Código:
DEL /?

Saludos
En línea



Dsalomon

Desconectado Desconectado

Mensajes: 52


Ver Perfil
Re: Batch que busque un archivo y lo ejecute y ejecutar combinaciones del teclado...
« Respuesta #9 en: 3 Septiembre 2012, 10:41 am »

que hago si no uso Windows 7

yo uso XP Sp3 tambien...

para esperar

Código
  1. SET WAIT=2000
  2. Echo wscript.Sleep %WAIT%

O como usar

Código
  1. ping -n 05 localhost>nul


por ejemplo aqui tengo un exctracto de codigo en donde

1. le digo busque el proceso de VIDEOPLAYER o sea "proceso"

2. y sino lo encuentra ejecute el programa Ds clock...

3. Espere a que carque un proceso antes de ejecutar el otro

4. si lo encuentra no haga nada

5. haga un Loop por si en cualquier momento se cierra el VIDEOPLAYER muestre el reloj

 

pero el problema es que el programa Ds Clock carga rapido y el otro carga lento

Código
  1. set proceso=VIDEOPLAYER.exe
  2.  
  3. tasklist | find "%proceso%" >nul
  4. if %Errorlevel% == 1 (START /D "%Programfiles%\DS Clock\" dsclock.exe)
  5.  

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
variable batch para ejecutar un archivo al abrir otro
Scripting
@felipe@ 4 8,084 Último mensaje 2 Agosto 2010, 20:59 pm
por FerJGS
Ejecutar un archivo .exe oculto cuando se ejecute un .mp3
Dudas Generales
net_rs 5 7,463 Último mensaje 15 Octubre 2010, 12:00 pm
por cdt
[BATCH] Ejecutar archivo
Scripting
Beito 3 3,813 Último mensaje 20 Octubre 2012, 18:44 pm
por Eleкtro
BATCH que busque un archivo con cadena de texto y lo elimine
Scripting
hugolopez 9 4,934 Último mensaje 23 Abril 2015, 00:53 am
por Eleкtro
Ayuda para hacer una función que busque en un archivo - C
Programación C/C++
lucasxxviii 6 3,557 Último mensaje 25 Junio 2016, 01:43 am
por lucasxxviii
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines