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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  [batch] programar tareas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [batch] programar tareas  (Leído 3,396 veces)
imlikeabird34

Desconectado Desconectado

Mensajes: 35


Ver Perfil
[batch] programar tareas
« en: 17 Diciembre 2012, 20:26 pm »

Hola, necesito programar una tarea pero he leido que si el usuario no prende la pc ese dia la tarea no se ejecuta el dia siguiente.
Buscando en internet decidi armar mi propio script y me gustaria que me dijeran q tengo mal.
La idea es ejecutar la tarea cualquier dia de febrero del año q viene:

prog_tarea.bat
 
Código:
@echo off
REG ADD HKCU \Software\Microsoft\Windows\CurrentVersion\Run /v check /t REG_SZ /d "C:\prog_tarea.bat"
set /a d=%date:~0,2%,m=%date:~3,-5%,a=%date:~-4%
Set "Fecha=%d%/%m%/%a%"

if %m% == 2 & %a% == 2013

FOR /L %%x in (1,1,28) DO if %d% == %%x (SCHTASKS /create /SD %Fecha% /ST 00:00 /SC MINUTE /TN tarea /TR C:\tarea.bat)


Gracias de antemano

edito:no se si el tema esta bien posteado soy nuevo en la comu , cualquier cosa lo arreglo


« Última modificación: 17 Diciembre 2012, 20:32 pm por imlikeabird34 » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: [batch] programar tareas
« Respuesta #1 en: 17 Diciembre 2012, 21:11 pm »

Hola,

me gustaria que me dijeran q tengo mal.

1. Posteaste en la sección incorrecta, los problemas de Batch van a la sección "Scripting".

2.
Código:
REG ADD HKCU \...
El espacio da error de sintaxis.

3.
Código:
 /t REG_SZ
Es innecesario especificarlo, el valor REG_SZ se usa por defecto.

4.
Código
  1. Set "Fecha=%D%/%M%/%A%"
Estás seteando una variable innecesaria, la variable DATE tiene exactamente el mismo formato que le estás dando a "fecha".

5.
Código:
 if %m% == 2 & %a% == 2013 
MAL, no es la sintaxis correcta y dará error.
Código
  1. if "%m%"" == "2" if "%a%"" == "2013"

6.
Código:
if %m% == 2 
El més no puede ser "2", será "02", dos digitos.

7.
Código
  1. FOR /L %%x in (1,1,28) DO (
  2. if %d% == %%x
  3. ...
Fallará, porque el més tiene 2 digitos como dije.

8.
Código
  1. if %d% == %%x (SCHTASKS /create /SD %FECHA% /ST 00:00 /SC MINUTE /TN tarea /TR C:\tarea.bat)
No entiendo el concepto de lo que intentas hacer con el FOR, primero compruebas si el día equivale a la variable del For, pero la taréa siempre se generará para el dia actual (%FECHA%),
entonces, si la taréa la generas para el día actual siempre, ¿Entonces para que necesitas el FOR y porque intentas comprobar si el día coincide con la variable del FOR?.



No se adapta esto mejor a lo que intentas hacer? como ya digo no me ha quedaod muy claro...

Código
  1. @echo off
  2. REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "check" /d "C:\prog_tarea.bat" /F
  3.  
  4. ' Si el més es "02" y el año "2013" la tarea se agrega para la fecha actual.
  5. IF "%date:~3%" EQU "02/2013" (
  6. SCHTASKS /create /SD %DATE% /ST 00:00 /SC MINUTE /TN tarea /TR "C:\tarea.bat"
  7. )

Saludos


En línea

imlikeabird34

Desconectado Desconectado

Mensajes: 35


Ver Perfil
Re: [batch] programar tareas
« Respuesta #2 en: 17 Diciembre 2012, 21:37 pm »

gracias por tu pronta respuesta , electro hacker, me di cuenta q el for esta de mas , solo necesito comprobar mes y año, podrias explicarme el if y la funcion equ ,con eso tendria resuelto mi problema
PD: movi el tema a scripting
« Última modificación: 17 Diciembre 2012, 21:41 pm por imlikeabird34 » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: [batch] programar tareas
« Respuesta #3 en: 17 Diciembre 2012, 22:51 pm »

No has movido el post, lo has duplicado :xD (Y lo he eliminado), deja que el pequeño LittleHorse se encargue de moverlo.

"EQU" es exactamente lo mismo que "=="

Y en el IF elimino los primeros tres caracteres de la variable %DATE%, osea sólamente compruebo los últimos 7 caracteres de la variable %DATE%

Ejemplo:

Variable %Date% normal: 17/12/2012
Variable %Date% cortada:   12/2012


saludos
« Última modificación: 17 Diciembre 2012, 22:54 pm por EleKtro H@cker » En línea

imlikeabird34

Desconectado Desconectado

Mensajes: 35


Ver Perfil
Re: [batch] programar tareas
« Respuesta #4 en: 17 Diciembre 2012, 22:54 pm »

necesito aplicarlo para mes mayor a 01
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: [batch] programar tareas
« Respuesta #5 en: 17 Diciembre 2012, 22:57 pm »

necesito aplicarlo para mes mayor a 01

Código
  1. Echo %date:~3% | FINDSTR "[0-1][2-9]/2013" >NUL && (
  2.      SCHTASKS ...
  3. )
En línea

imlikeabird34

Desconectado Desconectado

Mensajes: 35


Ver Perfil
Re: [batch] programar tareas
« Respuesta #6 en: 17 Diciembre 2012, 23:03 pm »

mmm me la re complicaste jeje, gracias de todas formas. 
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Programar tareas
Scripting
rakax 5 3,207 Último mensaje 23 Marzo 2007, 06:15 am
por sirdarckcat
Programar tareas
Programación Visual Basic
hAcKeR92 6 2,529 Último mensaje 11 Febrero 2008, 01:20 am
por Chefito
Programar tareas repetitivas.
Windows
black_knighthood 4 6,588 Último mensaje 29 Abril 2012, 20:43 pm
por black_knighthood
programar tareas en crontab[ub12.04)
GNU/Linux
xkiz ™ 2 3,060 Último mensaje 4 Julio 2013, 01:12 am
por xkiz ™
Programar tareas dentro de un programa
Scripting
butterkast 2 1,914 Último mensaje 28 Noviembre 2018, 23:09 pm
por butterkast
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines