Test Foro de elhacker.net SMF 2.1

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:

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
Cita de: DarK_FirefoX en 14 Junio 2016, 03:27 AM
Puedes insertar:

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
Cita de: VladimirKux en 14 Junio 2016, 03:53 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
Cita de: DarK_FirefoX en 14 Junio 2016, 04:06 AM
¿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
Cita de: VladimirKux en 14 Junio 2016, 16:31 PM

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

Lo puedes hacer con esto:

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
Cita de: DarK_FirefoX en 14 Junio 2016, 17:13 PM
Lo puedes hacer con esto:

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
Cita de: VladimirKux en 14 Junio 2016, 03:53 AMSolo 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 (dos) [Seleccionar]
@Echo Off & SetLocal EnableDelayedExpansion
Title TaskKill with countdown

Set "ProcessName=Notepad"
Set "TargetTime=02:00" :: 2 AM.

For /L %%# In (0, 1, 99999999999) Do (
   Set /A "CurrentHour=!TIME:~0,2!"
   Set /A "CurrentMins=!TIME:~3,2!"
   Set /A "TargetHour=%TargetTime:~0,2%"
   Set /A "TargetMins=%TargetTime:~3,2%"

   If !CurrentHour! EQU !TargetHour! If !CurrentMins! EQU !TargetMins! (
       Call :KillProcess "%ProcessName%"
   )

   (TimeOut /T 10 /NoBreak)1>NUL
)

:KillProcess :: %1=ProcessName
(TakKill.exe /F /T /IM "%~1")2>NUL && (
   Echo Process "%~1" killed successfully.
) || (
    Echo Failed to kill process: "%~1".
)
GoTo :End

:End
Pause&Exit /B 0


Saludos.
Título: Re: [CONSULTA] ayuda con archivo .BAT
Publicado por: DarK_FirefoX en 16 Junio 2016, 02:42 AM
Cita de: Eleкtro en 15 Junio 2016, 00:43 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 (dos) [Seleccionar]
@Echo Off & SetLocal EnableDelayedExpansion
Title TaskKill with countdown

Set "ProcessName=Notepad"
Set "TargetTime=02:00" :: 2 AM.

For /L %%# In (0, 1, 99999999999) Do (
   Set /A "CurrentHour=!TIME:~0,2!"
   Set /A "CurrentMins=!TIME:~3,2!"
   Set /A "TargetHour=%TargetTime:~0,2%"
   Set /A "TargetMins=%TargetTime:~3,2%"

   If !CurrentHour! EQU !TargetHour! If !CurrentMins! EQU !TargetMins! (
       Call :KillProcess "%ProcessName%"
   )

   (TimeOut /T 10 /NoBreak)1>NUL
)

:KillProcess :: %1=ProcessName
(TakKill.exe /F /T /IM "%~1")2>NUL && (
   Echo Process "%~1" killed successfully.
) || (
    Echo Failed to kill process: "%~1".
)
GoTo :End

:End
Pause&Exit /B 0


Saludos.

Excelente! Que grande! +1

Saludos