es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El Programador de Tareas de Windows interrumpe comandos en lote

He escrito un script por lotes para realizar algunas operaciones básicas de archivos.

@ECHO OFF
@SET FILETOGET=L:\Alguna Carpeta\Otra Carpeta\base de datos\archivoCampo.db
@SET FILEDEST=C:\ProgramData\FieldApp\base de datos\%USERNAME%\

@IF NOT EXIST %FILEDEST% (
mkdir “%FILEDEST%”
)

@IF EXIST %FILEDEST%archivoCampo.db (
DEL /Q “%FILEDEST%archivoCampo.db”
)

@IF EXIST %FILETOGET% (
cd “%FILEDEST%”
C:\Windows\System32\tar.exe -zxvf “%FILETOGET%”
) ELSE (
ECHO No se pudo encontrar el archivo: %FILETOGET%
)

El problema que realmente me está molestando es que si ejecuto este script manualmente… funciona exactamente como se espera. Sin embargo, si Programador de tareas intenta ejecutarlo, el ELSE del último bloque IF siempre se ejecuta y el resultado final es que el rendimiento previsto de la ejecución del script no existe.

¿Alguien sabe por qué Programador de tareas no puede ejecutar un script de la misma manera que lo haría mediante una ejecución manual? ¡Realmente me está volviendo loco!

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Es posible que el Programador de tareas esté ejecutando el archivo por lotes en un contexto diferente al ejecutarlo manualmente. Una posible razón es que el Programador de tareas no esté siendo ejecutado con los mismos privilegios de usuario que cuando se ejecuta el archivo por lotes manualmente.

    Para resolver este problema, puedes intentar modificar la configuración del Programador de tareas para que ejecute el archivo por lotes con los mismos privilegios de usuario que cuando se ejecuta manualmente. También puedes verificar si hay problemas de permisos con las rutas de archivo especificadas en el archivo por lotes.

    Otra posible razón es que el Programador de tareas esté ejecutando el archivo por lotes desde un directorio de trabajo diferente. Puedes modificar el archivo por lotes para especificar las rutas absolutas de los archivos y eliminar esta posibilidad.

    En general, solucionar el problema requerirá examinar las diferencias entre la ejecución manual y la ejecución del Programador de tareas, y ajustar el script y/o la configuración del Programador de tareas en consecuencia.

Comments are closed.