Saltar al contenido

Programar un archivo .py en el Programador de tareas en Windows 10

Nuestros mejores investigadores han agotado sus provisiones de café, buscando diariamente por la respuesta, hasta que Serena halló el hallazgo en Gogs así que hoy la compartimos contigo.

Solución:

Crear el exe debería ser el mejor método. Pero si quieres ejecutarlo con el programador de tareas puedes hacerlo de esta forma:

  1. Inicie el Programador de tareas de Windows
  2. Busque el panel Acciones (a la derecha), tiene la acción Crear tarea básica. Haz click en eso.
  3. Esto abrirá un asistente donde definirá el nombre de su tarea, el activador (cuándo se ejecuta) y la acción (qué programa ejecutar). La pestaña Acción es donde especifica el nombre de su secuencia de comandos de Python para ejecutar, así como cualquier argumento para la secuencia de comandos.

Para asegurarse de que su secuencia de comandos de Python se ejecutará independientemente de la cuenta de inicio de sesión que use la tarea programada y para evitar cualquier confusión sobre qué versión de Python se usa en mixed (64 bits o 32 bits), se recomienda que ejecute el ejecutable de Python con el nombre de su archivo de Python como argumento para el ejecutable.

Suponga que el script que desea ejecutar es E:My script.py. En lugar de ejecutar el script directamente, indique al programador de tareas que ejecute python.exe con el script como argumento. Por ejemplo:

C:Python27ArcGIS10.2python.exe “E:Mi script.py”

La ubicación de python.exe depende de su instalación. Si no sabes dónde está, puedes descubrir su ubicación; copie y pegue el siguiente código en una nueva secuencia de comandos de Python y luego ejecute la secuencia de comandos. El script imprimirá la ubicación de python.exe, así como otra información sobre su entorno de Python.

import sys
import platform
import imp

print("Python EXE     : " + sys.executable)
print("Architecture   : " + platform.architecture()[0])
print("Path to arcpy  : " + imp.find_module("arcpy")[1])

raw_input("nnPress ENTER to quit")

Después de determinar la ubicación de python.exe, esto es lo que se ingresa en el panel Acción del programador de tareas:
ingrese la descripción de la imagen aquí

Si hay argumentos adicionales (parámetros) en su secuencia de comandos, proporciónelos después de la ruta a su secuencia de comandos. Espero que esto ayude.

Debes establecer en el Action pestaña:

  • en los programas, la ruta a su python.exe: por ejemplo "C:UsersMeAppDataLocalProgramsPythonPython36python.exe"
  • en argumentos, la ruta completa a su archivo, incluida la extensión: por ejemplo
    "C:UsersMeDesktopmypythonsrcipt.py"
  • para comenzar en: dejar vacío

Si esto no funciona, intente:

  • en los programas, la ruta a su python.exe: por ejemplo "C:UsersMeAppDataLocalProgramsPythonPython36python.exe"
  • en argumentos, su nombre de archivo con la extensión: por ejemplo
    "mypythonsrcipt.py"
  • en start in, la carpeta de su script: por ejemplo "C:UsersMeDesktop"

También cada vez que modifico una tarea, la cuenta de usuario en el General la pestaña se cambia a Nivel Obligatorio Medio. Así que tengo que reabrir las tareas y volver a configurar la cuenta de usuario con mi nombre de usuario: (cf. esta pregunta)

ingrese la descripción de la imagen aquí

Si aún no puede ejecutar su secuencia de comandos, vaya al Registro de eventos, Applications and Service Log/Microsoft/Windows/TaskScheduler/Operational (haga clic derecho para habilitarlo) y busque los errores.

Casi pierdo mi cabello por esto. Siempre obtuve 0x1 como resultado de hacer lo que se describe arriba. Un administrador de Windows con mucha experiencia me dijo esto:

Crear un archivo por lotes:

SET logfile="C:Reportsbatch.log"
@echo off
@echo Starting Script at %date% %time% >> %logfile%
"C:Program Files (x86)Microsoft Visual StudioSharedPython36_64python.exe" "C:Userssys_wwwsourcereposhardwareReportAssembler.py"
@echo finished at %date% %time% >> %logfile%

Luego proporcione el archivo por lotes en la parte de acción de la configuración de la tarea. Una cosa a tener en cuenta también es que el usuario que ejecuta el script puede acceder a todos los archivos escritos durante el tiempo de ejecución del programa python.

Intenté usar el script como parámetro y el exe de python en programm/script. Primero aparece el error “Las tareas programadas de Windows no se están ejecutando”. Luego, después de algunas configuraciones, obtuve el error 0x1, que no me dijo absolutamente nada.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *