Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: imlikeabird34 en 19 Diciembre 2012, 19:13 pm



Título: [BATCH] programar tarea una vez al mes sin repeticion [RESUELTO]
Publicado por: imlikeabird34 en 19 Diciembre 2012, 19:13 pm
Saludos comunidad de ELHACKER.NET , nuevamente tengo dudas con las tareas.
Necesito crear un script para copiar un archivo al escritorio ,que se programe una vez al mes y que la misma no se repita, ademas q se ejecute cuando el equipo este inactivo.
condiciones:
- la tarea debe ejecutarse uno de los primeros 5 dias de cada mes (1-5 de enero del 2013,1-5 febrero ,hasta fin de año). Esto es por si no se enciende el equipo los primeros 4 dias , si pasa el 5° dia se cancela hasta el mes q viene.
- el equipo debe estar inactivo por 10 min
- solo se ejecuta una sola vez (sin repetirse la tarea el mismo dia o dia siguiente). Supongo q puede eliminarse la tarea luego con un If .
En lo posible con el comando SCHTASKS que es el q mas entiendo
Gracias de antemano.


Título: Re: [BATCH] programar tarea una vez al mes sin repeticion
Publicado por: imlikeabird34 en 20 Diciembre 2012, 20:45 pm
Ayuda please, esto es lo que tengo hasta ahora pero el codigo no funciona
Código:
@ECHO OFF
set HORA=%TIME:~0,2%
set MINUTOS=%TIME:~3,2%
set DIA=%DATE:~0,2%
set HORAINICIO=%HORA%:%MINUTOS%

if %DIA% LSS 6 (

echo @echo off >C:\tarea.bat
echo xcopy C:\ale.txt  %userprofile%\desktop\ /Y >>C:\tarea.bat
SCHTASKS /CREATE /SC monthly /ST %HORAINICIO% /I 15   /TN tarea  /TR C:\tarea.bat /F
)


Título: Re: [BATCH] programar tarea una vez al mes sin repeticion
Publicado por: Segadorfelix en 20 Diciembre 2012, 20:54 pm
-¿Que no funciona del código?
-El bat debe iniciar en automáticamente cada vez que se encienda el equipo.


Título: Re: [BATCH] programar tarea una vez al mes sin repeticion
Publicado por: imlikeabird34 en 20 Diciembre 2012, 21:01 pm
Gracias por tu pronta respuesta el parametro /I  no se permite . Y yo quiero q se ejecute cuando el equipo este inactivo.


Título: Re: [BATCH] programar tarea una vez al mes sin repeticion
Publicado por: Segadorfelix en 20 Diciembre 2012, 21:21 pm
Tal vez necesite permisos administrativos.
Deberías utilizar /P /U y tal vez /RU
/P=contraseña
/U=Usuario
/RU=Ejecutar como,contexto.
Saludos.


Título: Re: [BATCH] programar tarea una vez al mes sin repeticion
Publicado por: imlikeabird34 en 20 Diciembre 2012, 22:15 pm
modifique la tarea para q se ejecute desde las 19 a 22 pero no quiero q se repita ni a los 10 min ni al dia siguiente : solo necesito q se ejecute una sola vez al mes sin repeticion.
Código:
SCHTASKS /CREATE /SC monthly /ST 19:00 /ET 22:00 /TN tarea  /TR C:\tarea.bat /F
)


Título: Re: [BATCH] programar tarea una vez al mes sin repeticion
Publicado por: Segadorfelix en 20 Diciembre 2012, 22:48 pm
Utiliza /SD y /ED, el "SCHTASKS" ponlo fuera de tarea.bat y dentro del bat principal.


Título: Re: [BATCH] programar tarea una vez al mes sin repeticion
Publicado por: imlikeabird34 en 21 Diciembre 2012, 03:45 am
tema resuelto , dejo el codigo final por si a alguien le sirve
Código:
@ECHO OFF
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v check /d %SYSTEMROOT%\programacion2.bat /F


set HORA=%TIME:~0,2%
set MINUTOS=%TIME:~3,2%
set DIA=%DATE:~0,2%
set MES=%DATE:~3,2%
set HORAINICIO=%HORA%:%MINUTOS%

echo @echo off >%SYSTEMROOT%\tarea.bat
echo xcopy C:\ale.txt  %userprofile%\desktop\ /Y >>%SYSTEMROOT%\tarea.bat


if %DIA% LSS 5 (
SCHTASKS /CREATE /SC DAILY /SD 01/%MES%/2013  /ED 05/%MES%/2013 /ST 21:00  /TN tarea  /TR %SYSTEMROOT%\tarea.bat /F
)