1 votos

problema con .bat

buenos dias tengo un .bat que copia una db de un disco compartido a uno local, este se esta ejecutando sin parar hasta llenar el disco con la misma db. como hago para que se ejecute 1 sola vez.

1voto

Jorge RC Puntos10

Tendrás que programarle una tarea programada para decirle cuando puede ejecutarse. He encontrado este ejemplo que ejecuta una aplicación mediante un .bat

@Echo OFF

Set "APP=C:\Test.bat"

(IF not exist "%WINDIR%\Task_%date:/=-%.task" (
    (FSUTIL File CreateNew "%windir%\Task_%date:/=-%.task" 0
    Start /B "" "%APP%") || (Exit /B 1)
) ELSE (
    FORFILES /P "%WINDIR%" /M "*.task" /C "CMD /C If NOT @fdate EQU %DATE% (Del /Q "@path")"
    Exit /B 0
))>NUL

Y acontinuación la tarea programada que le indica que debe ejecutarse una vez al día. Se podría modificar con más condiciones:

@Echo OFF

Set "APP=C:\Test.bat"

(
 If NOT "%~1" EQU "/RUN" (
     Copy /Y "%~0" "%WINDIR%\"
     SCHTASKS /Create /TN "Batch Task" /TR "\"%WINDIR%\%~nx0\" /RUN" /SC ONLOGON /F
 )

 IF not exist "%WINDIR%\Task_%date:/=-%.task" (
     (FSUTIL File CreateNew "%windir%\Task_%date:/=-%.task" 0
     Start /B "" "%APP%") || (Exit /B 1)
 ) ELSE (
     FORFILES /P "%WINDIR%" /M "*.task" /C "CMD /C If NOT @fdate EQU %DATE% (Del /Q "@path")"
     Exit /B 0
 )
)>NUL

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: