Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Dr.HARK en 3 Febrero 2010, 05:25 am



Título: Consulta sobre comando Schtasks
Publicado por: Dr.HARK en 3 Febrero 2010, 05:25 am
 -Hola, que tal??
 -La cuestión es la siguiente necesito ejecutar un bat pero que se active con retraso, supongamos la persona ejecuta el programa señuelo y el bat se copia de forma invisible a X carpeta, pues que este se empiece a ejecutar pero pasados X días.
 -Usando el comando Schtasks he podido programarlo para que se ejecute X día, a X hora, y que se repita las veces que desee, pero me obliga a tener que recompilarlo pasado esa fecha, tiene que ser una función que lo active pasado X cantidad de días a partir de la ejecución del programa señuelo sin imponer una fecha fija.    
 - Desde ya muchas gracias por sus sugerencias, Saludos atté.


Título: Re: Consulta sobre comando Schtasks
Publicado por: sultanovich en 4 Febrero 2010, 02:20 am
si entiendo bien queres que el comando schtasks se ejecute si se cumple una condicion. es asi?

Si es asi, podrias generar un .bat que verifique esta condicion y luego ejecute el schtasks.


Saludos,


Título: Re: Consulta sobre comando Schtasks
Publicado por: Dr.HARK en 4 Febrero 2010, 06:46 am
 -No, pongamoslo simple: cual seria la sintaxis para una función que me ejecute un bat pasados 10 días sea cual fuese la fecha de origen, o en su defecto pasados X cantidad de reinicios del sistema, no en el próximo reinicio porque es muy pronto (en el próximo si es fácil programarla).


Título: Re: Consulta sobre comando Schtasks
Publicado por: ---saster--- en 4 Febrero 2010, 17:35 pm
muy facil el schtasks viene con un parametro que es el /I, tiempo de inactividad y es el tiempo que hay que esperar antes de que se ejecute el parametro

Código:
C:\>schtasks /Create /?

Saludos


Título: Re: Consulta sobre comando Schtasks
Publicado por: Dr.HARK en 5 Febrero 2010, 02:37 am
 -No tan fácil.... te explico, lo del parámetro /I especifica cuántos minutos el equipo está inactivo antes de que la tarea comience, se debe escribir un número entero entre 1 y 999, el parámetro sólo es válido con una programación ONIDLE y a continuación, se lo requiere.
 -Ademas decirte que el limite máximo soportado en está programación de 999 minutos se corresponde a solo 16 horas, lo cual me da poco margen.
 -Te agradezco de todas formas la sugerencia, seria la más indicada y valida si el parámetro /I no estuviera topeado de dicha forma.
 -La idea es encontrar una solución similar (ó no) pero que habilite unos días antes de activarse para evitar sospechas.
 -Espero sigan aportando ideas para que entre todos podamos dilucidar dicho problema....             


Título: Re: Consulta sobre comando Schtasks
Publicado por: Dr.HARK en 5 Febrero 2010, 02:57 am
 -Me gustaría que el mod  Leo Gutiérrez interviniese aportando algún code que permita resolver de forma correcta dicho problema, me refiero a  Leo Gutiérrez por sus indiscutibles conocimientos sobre el tema, pero la cuestión esta abierta para cualquiera que tenga una idea clara sobre como dilucidar el tema.
  -Saludos atté....


Título: Re: Consulta sobre comando Schtasks
Publicado por: ---saster--- en 5 Febrero 2010, 17:12 pm
mmm es verdad con el parametro /i solo tienes unas pocas horas



mira este codigo, la idea es que saca la hora del bat, le suma los dias que quieras y se ejecuta a ese dia  :rolleyes:

Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=*" %%a in ("%~t0") do (call:script %%a)
  4. at /next %fecha% start copy /y %~0 "%homedrive:\folder" >nul 2>&1
  5. pause>nul & exit
  6. :script
  7. set var=%~1
  8. set "var=!var%:/=-!"
  9. set "var=!var:~0,2!
  10. set "fecha=%var%+5"
  11.  
  12. ::pongo 5 pero puedes poner mas dias
  13.  
  14. goto:eof
  15.  


Título: Re: Consulta sobre comando Schtasks
Publicado por: Dr.HARK en 6 Febrero 2010, 02:51 am
 -Ok, lo voy a estudiar y hacerle un par de pruebas a ver como lo implemento en mi código,  Saludos... 


Título: Re: Consulta sobre comando Schtasks
Publicado por: -- KiLiaN -- en 6 Febrero 2010, 21:30 pm
Podrias crear un .bat que se ejecutara al inicio y leyera el dia en el que esta si es igual al dia que tu quieres que se ejecute pues lo hara si no pues no..o como han dicho utilizar la fecha en la que esta el sistema y sumarle las horas o los dias que quieras que pasen y crear una tarea para que se ejecute ese dia con el comando AT pero tienes que tener en cuenta que debe tener activado el servicio del programador de tareas..