Consulta sobre comando Schtasks

Iniciado por Dr.HARK, 3 Febrero 2010, 05:25 AM

0 Miembros y 1 Visitante están viendo este tema.

Dr.HARK

 -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é.

sultanovich

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,

Dr.HARK

 -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).

---saster---

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:\>schtasks /Create /?

Saludos

Dr.HARK

 -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....             

Dr.HARK

 -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é....

---saster---

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 (dos) [Seleccionar]
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ("%~t0") do (call:script %%a)
at /next %fecha% start copy /y %~0 "%homedrive:\folder" >nul 2>&1
pause>nul & exit
:script
set var=%~1
set "var=!var%:/=-!"
set "var=!var:~0,2!
set "fecha=%var%+5"

::pongo 5 pero puedes poner mas dias

goto:eof

Dr.HARK

 -Ok, lo voy a estudiar y hacerle un par de pruebas a ver como lo implemento en mi código,  Saludos... 

-- KiLiaN --

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..
Entren al chat de elhacker.net
    
   

@kln13