Guía de tecnologías

Programar scripts Python con el Programador de tareas de Windows

7 min read Automatización Actualizado 19 Sep 2025
Programar scripts Python con el Programador de tareas
Programar scripts Python con el Programador de tareas

Schedule Python Scripts

Introducción

En lugar de ejecutar scripts Python de forma manual para tareas rutinarias, automatízalos para que se ejecuten a la hora que necesites. El Programador de tareas de Windows (Task Scheduler) permite ejecutar programas en horarios o intervalos específicos. Aquí verás cómo programar scripts Python paso a paso, alternativas, listas de verificación para roles y cómo verificar y solucionar problemas.

Importante: cuando hablo de teclas, “Win + R” se refiere a la tecla Windows + R.

Programar un script Python directamente en el Programador de tareas

El Programador de tareas permite ejecutar tu script Python diariamente, semanalmente o con una programación personalizada. Para abrirlo, pulsa Windows + R, escribe taskschd.msc y pulsa Enter.

Open Task Scheduler

  1. En el Programador de tareas, ve a la pestaña “Acciones” y haz clic en “Crear tarea básica…” para iniciar el asistente.

Create Basic Task

  1. Asigna un nombre a la tarea y, opcionalmente, una descripción. Luego haz clic en “Siguiente”.

Provide Task Name Description

  1. Elige cuándo debe iniciarse la tarea: Diario, Semanal, Una vez, etc., y continúa.

When You Want Task To Start

  1. Configura la fecha y la hora de inicio (si procede). En la sección “Acción”, selecciona “Iniciar un programa” y sigue a la siguiente pantalla.

Select Action To Be Performed

  1. En “Programa o script” coloca la ruta al ejecutable de Python (por ejemplo, C:\Python39\python.exe). En “Agregar argumentos” introduce la ruta completa a tu script Python.

Specify Python Executable Path

Ejemplo:

  • Programa o script: C:\Python39\python.exe
  • Agregar argumentos: “C:\ruta\a\mi_script.py”
  1. Revisa la configuración y haz clic en “Finalizar”.

Review The Settings

Tu script Python ahora estará programado para ejecutarse en el horario especificado.

Método alternativo: usar un archivo .bat

Muchos usuarios prefieren crear un archivo por lotes (.bat) para evitar problemas de rutas y entornos. Abre el Bloc de notas y pega lo siguiente:

@echo off  
"C:\Path\to\python.exe""C:\Path\to\your_script.py"  
pause

Sustituye la primera ruta por la ubicación del ejecutable de Python y la segunda por la del script. El comando pause mantiene la ventana abierta para ver errores; quítalo si quieres ejecución totalmente silenciosa.

Si no conoces la ubicación de Python, abre Símbolo del sistema y ejecuta:

where python

Check Python Path

Si aparecen varias rutas, elige la que corresponda al entorno que quieras usar. Guarda el archivo con extensión .bat y programa ese .bat en el Programador de tareas como “Iniciar un programa”.

Consejo práctico: usa rutas absolutas y evita espacios en directorios o encierra rutas entre comillas.

Habilitar ejecución automática sin sesión iniciada

Para ejecutar la tarea incluso si nadie ha iniciado sesión:

  1. Abre la Biblioteca del Programador de tareas, haz clic derecho sobre la tarea y selecciona “Propiedades”.

Open Task Properties

  1. En la pestaña “General”, marca “Ejecutar tanto si el usuario inició sesión como si no”. Si el script requiere privilegios elevados, marca “Ejecutar con los privilegios más altos”.

Update Task Properties

  1. En “Condiciones”, desmarca “Iniciar la tarea solo si el equipo está conectado a la corriente alterna” si trabajas en un portátil y quieres que se ejecute con batería.

Update Conditional Task Properties

Guarda con “Aceptar” y, si se solicita, introduce credenciales de usuario con permisos suficientes.

Importante: si la cuenta configurada cambia la contraseña o se desactiva, la tarea fallará hasta actualizar las credenciales.

Verificar la ejecución programada

Para probar la tarea inmediatamente, en el Programador de tareas haz clic derecho en la tarea y selecciona “Ejecutar”.

Run Task To Confirm Working

Revisa los registros, archivos de logs o salidas que genere tu script para confirmar la ejecución.

Verify Task Output

Si no funciona, comprueba:

  • Rutas absolutas a python.exe y al script.
  • Permisos de la cuenta configurada en la tarea.
  • Variables de entorno o dependencias que el script requiera.

Verificación y solución de problemas: checklist rápida

  • Ejecuta el comando where python para confirmar la ruta de Python.
  • Ejecuta el script manualmente con la misma cuenta que usará la tarea.
  • Redirige salida y errores a un archivo de log para debug: python mi_script.py > C:\logs\mi_script.log 2>&1.
  • Revisa el Visor de eventos de Windows para errores del Programador de tareas.

Criterios de aceptación — Cómo saber que está bien configurado

  • La tarea se ejecuta manualmente con “Ejecutar” y el script produce la salida esperada.
  • La tarea se ejecuta en la hora programada sin intervención humana durante al menos 3 ejecuciones consecutivas.
  • En caso de fallo, los logs contienen suficiente información para diagnosticar (código de error, traceback, timestamps).

Alternativas y enfoques complementarios

  • Docker: encapsula el entorno y dependencias del script en un contenedor; útil para entornos reproducibles.
  • Windows Subsystem for Linux (WSL): usa cron dentro de WSL si prefieres herramientas Unix.
  • Soluciones empresariales: Airflow, Rundeck o Windows Server Task Scheduler con GPO para despliegues centralizados.

Comparativa rápida (heurística):

  • Si necesitas reproducibilidad y aislamiento: Docker.
  • Si ya usas pipelines y dependencias complejas: Airflow.
  • Si es una tarea simple en un solo equipo: Programador de tareas + .bat.

Seguridad y privacidad

  • Ejecuta tareas con la cuenta de menor privilegio que permita completar la tarea.
  • No guardes contraseñas en texto plano dentro de scripts. Usa el Administrador de credenciales de Windows o almacenes de secretos.
  • Si procesas datos personales, asegúrate de cumplir la normativa local (por ejemplo, RGPD en la UE) y de registrar accesos y borrados según políticas.

Mini-metodología: cómo implementar una tarea programada en 6 pasos

  1. Preparar el entorno: instalar Python, dependencias y crear un entorno virtual si procede.
  2. Convertir rutas relativas a absolutas y probar el script manualmente.
  3. Crear un archivo .bat (opcional) o apuntar directamente al python.exe.
  4. Crear la tarea en el Programador de tareas y configurar desencadenadores y acciones.
  5. Ajustar propiedades: ejecutar aunque no haya sesión, privilegios y condiciones de energía.
  6. Probar ejecución manualmente y revisar logs en al menos 3 ejecuciones programadas.

Fragmentos útiles y cheatsheet

Archivo .bat básico:

@echo off
"C:\Python39\python.exe" "C:\proyecto\mi_script.py" > "C:\logs\mi_script.log" 2>&1

Programar tarea desde la línea de comandos con schtasks:

schtasks /Create /TN "MiScriptPython" /TR "C:\Python39\python.exe C:\proyecto\mi_script.py" /SC DAILY /ST 09:00 /RU "DOMINIO\usuario" /RP "contraseña"

Nota: evita pasar contraseñas en línea de comandos en entornos compartidos; prefiere cuentas de servicio sin contraseña interactiva o usa el Programador de tareas GUI para introducir credenciales de forma segura.

Lista de verificación por rol

  • Desarrollador
    • Usar rutas absolutas y gestionar dependencias en un entorno virtual.
    • Añadir logging con niveles (INFO/ERROR) y manejo de excepciones.
  • Administrador de sistemas
    • Configurar cuenta de servicio o credenciales gestionadas.
    • Revisar permisos y políticas de grupo si se despliega a múltiples equipos.
  • Analista de datos
    • Asegurar que los datos de entrada estén disponibles en horarios de ejecución.
    • Generar y conservar logs y salidas para auditoría.

Casos en que esto NO es la mejor opción

  • Aplicaciones interactivas que requieren GUI o interacción humana.
  • Escalado horizontal: si necesitas ejecutar trabajos en muchos nodos con distribución de carga, considera herramientas como Airflow o Kubernetes.
  • Requisitos de alta disponibilidad y orquestación avanzada: Programador de tareas es limitado frente a soluciones empresariales.

Resumen

El Programador de tareas de Windows es una solución simple y efectiva para automatizar scripts Python en un único equipo. Usa rutas absolutas, controla credenciales, añade logging y prueba las ejecuciones para garantizar fiabilidad. Para entornos más complejos, evalúa Docker, WSL o plataformas de orquestación.

Notas finales

  • Siempre prueba con la misma cuenta que usará la tarea.
  • Automatiza la rotación de logs para evitar llenar el disco.
  • Mantén un playbook breve con los pasos de despliegue y recuperación.

Resumen rápido:

  • Automatiza scripts Python con el Programador de tareas o un .bat.
  • Verifica rutas, permisos y registra salidas.
  • Escala a soluciones más robustas si la complejidad aumenta.
Autor
Edición

Materiales similares

Podman en Debian 11: instalación y uso
DevOps

Podman en Debian 11: instalación y uso

Apt-pinning en Debian: guía práctica
Sistemas

Apt-pinning en Debian: guía práctica

OptiScaler: inyectar FSR 4 en casi cualquier juego
Guía técnica

OptiScaler: inyectar FSR 4 en casi cualquier juego

Dansguardian + Squid NTLM en Debian Etch
Redes

Dansguardian + Squid NTLM en Debian Etch

Arreglar error de instalación Android en SD
Android

Arreglar error de instalación Android en SD

Conectar carpetas de red con KNetAttach
Redes

Conectar carpetas de red con KNetAttach