Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: VladimirKux en 14 Junio 2016, 03:19 am



Título: [CONSULTA] ayuda con archivo .BAT
Publicado por: VladimirKux en 14 Junio 2016, 03:19 am
Buen dias amigos, Ire al grano mi duda es la siguiente

Necesito cerrar un proceso de windows Mediante al comando TASKKILL pero necesito agregarle un timer a tal comando

Ejemplo: " Son las 12:am Y quiero que el proceso Ignite.exe se cierre a las 2:am "

Tambien quiero saber como ponerle un timer al comando (START)

Ejemplo: " Son las 3 am y quiero que el proceso Flash.exe se abra y se ejecute a las 4 am"

Tambien quiero saber si no hay ningun inconveniente en ejecutar varias ordenes o archivos bats a la vez..

Ejemplo: Voy a crear 2 archivos .bats uno para que me cierre los programas y otro para que me los abra, segun en el orden que yo ejecute estos archivos ellos se ejecutaran?

De antemano muchas gracias saludos...!!!


Título: Re: [CONSULTA] ayuda con archivo .BAT
Publicado por: DarK_FirefoX en 14 Junio 2016, 03:27 am
Puedes insertar:

Código:
timeout /t 3600

Antes de tu comando (tanto taskkill como start). Esto detendrá el batch por 3600 segundos (obvio que puedes sustituirlo) que son 60 minutos.

Salu2s, espero que te haya sido de ayuda.


Título: Re: [CONSULTA] ayuda con archivo .BAT
Publicado por: VladimirKux en 14 Junio 2016, 03:53 am
Puedes insertar:

Código:
timeout /t 3600

Antes de tu comando (tanto taskkill como start). Esto detendrá el batch por 3600 segundos (obvio que puedes sustituirlo) que son 60 minutos.

Salu2s, espero que te haya sido de ayuda.



Exelente amigo me sirvio de mucho gracias, a hora hay algun metodo para que no se quede el archivo abierto esperando el tiempo? por que me dice

Ejemplo:  " Esperando 10 segundos, precione una tecla para continuar"

Solo quiero que ejecute la orden y cuando llege el tiempo que se cierre :)

Ejecute TIMEOUT /? y me salio un comando que se llama "NOBREAK" pero no cumplio la funcion que esperaba :(


Título: Re: [CONSULTA] ayuda con archivo .BAT
Publicado por: DarK_FirefoX en 14 Junio 2016, 04:06 am
Ejecute TIMEOUT /? y me salio un comando que se llama "NOBREAK" pero no cumplio la funcion que esperaba :(

¿Cuál es en sí la función que esperabas?



Título: Re: [CONSULTA] ayuda con archivo .BAT
Publicado por: VladimirKux en 14 Junio 2016, 16:31 pm
¿Cuál es en sí la función que esperabas?




Le agrege la opcion NOBREAK y me sigue mostrando el tiempo en pantalla


Título: Re: [CONSULTA] ayuda con archivo .BAT
Publicado por: DarK_FirefoX en 14 Junio 2016, 17:13 pm

Le agrege la opcion NOBREAK y me sigue mostrando el tiempo en pantalla

Lo puedes hacer con esto:

Código:
timeout /t 10 /nobreak>nul

Dime si te funciona, lo que hace es redirigir la salida estándar (a través de un pipe) a "nul"

Dime si eso es lo que quieres!

Salu2s


Título: Re: [CONSULTA] ayuda con archivo .BAT
Publicado por: VladimirKux en 14 Junio 2016, 23:13 pm
Lo puedes hacer con esto:

Código:
timeout /t 10 /nobreak>nul

Dime si te funciona, lo que hace es redirigir la salida estándar (a través de un pipe) a "nul"

Dime si eso es lo que quieres!

Salu2s


Exelente amigo muchas gracias por vuestra ayuda, eso es exactamente lo que queria que no mostrara nada en pantalla.. a hora abra alguna forma de que ejecute la orden y se cierre de una vez ?


Título: Re: [CONSULTA] ayuda con archivo .BAT
Publicado por: Eleкtro en 15 Junio 2016, 00:43 am
Solo quiero que ejecute la orden y cuando llege el tiempo que se cierre :)

Esto no va así, el comando TaskKill no expone ningún parámetro para poder especificar un tiempo de retraso o delay.

Debes hacer lo contrario, primero esperar, y cuando llegue el momento adecuado, ejecutar la orden. Puedes hacerlo con un búcle "infinito", de la siguiente manera:

Código
  1. @Echo Off & SetLocal EnableDelayedExpansion
  2. Title TaskKill with countdown
  3.  
  4. Set "ProcessName=Notepad"
  5. Set "TargetTime=02:00" :: 2 AM.
  6.  
  7. For /L %%# In (0, 1, 99999999999) Do (
  8.    Set /A "CurrentHour=!TIME:~0,2!"
  9.    Set /A "CurrentMins=!TIME:~3,2!"
  10.    Set /A "TargetHour=%TargetTime:~0,2%"
  11.    Set /A "TargetMins=%TargetTime:~3,2%"
  12.  
  13.    If !CurrentHour! EQU !TargetHour! If !CurrentMins! EQU !TargetMins! (
  14.        Call :KillProcess "%ProcessName%"
  15.    )
  16.  
  17.    (TimeOut /T 10 /NoBreak)1>NUL
  18. )
  19.  
  20. :KillProcess :: %1=ProcessName
  21. (TakKill.exe /F /T /IM "%~1")2>NUL && (
  22.    Echo Process "%~1" killed successfully.
  23. ) || (
  24.    Echo Failed to kill process: "%~1".
  25. )
  26. GoTo :End
  27.  
  28. :End
  29. Pause&Exit /B 0

Saludos.


Título: Re: [CONSULTA] ayuda con archivo .BAT
Publicado por: DarK_FirefoX en 16 Junio 2016, 02:42 am
Esto no va así, el comando TaskKill no expone ningún parámetro para poder especificar un tiempo de retraso o delay.

Debes hacer lo contrario, primero esperar, y cuando llegue el momento adecuado, ejecutar la orden. Puedes hacerlo con un búcle "infinito", de la siguiente manera:

Código
  1. @Echo Off & SetLocal EnableDelayedExpansion
  2. Title TaskKill with countdown
  3.  
  4. Set "ProcessName=Notepad"
  5. Set "TargetTime=02:00" :: 2 AM.
  6.  
  7. For /L %%# In (0, 1, 99999999999) Do (
  8.    Set /A "CurrentHour=!TIME:~0,2!"
  9.    Set /A "CurrentMins=!TIME:~3,2!"
  10.    Set /A "TargetHour=%TargetTime:~0,2%"
  11.    Set /A "TargetMins=%TargetTime:~3,2%"
  12.  
  13.    If !CurrentHour! EQU !TargetHour! If !CurrentMins! EQU !TargetMins! (
  14.        Call :KillProcess "%ProcessName%"
  15.    )
  16.  
  17.    (TimeOut /T 10 /NoBreak)1>NUL
  18. )
  19.  
  20. :KillProcess :: %1=ProcessName
  21. (TakKill.exe /F /T /IM "%~1")2>NUL && (
  22.    Echo Process "%~1" killed successfully.
  23. ) || (
  24.    Echo Failed to kill process: "%~1".
  25. )
  26. GoTo :End
  27.  
  28. :End
  29. Pause&Exit /B 0

Saludos.

Excelente! Que grande! +1

Saludos