schtasks - Programador de tareas

Mantenido el

“Quiero hacer una copia de seguridad cada noche” o “quiero que un script se ejecute al encender el PC” son necesidades habituales en el trabajo real.

El comando schtasks permite manejar el Programador de tareas de Windows desde la línea de comandos y programar archivos por lotes o programas.

Crear una tarea (/CREATE)

Sintaxis básica

SCHTASKS /CREATE /TN "nombre de la tarea" /TR "comando a ejecutar" /SC tipo_de_programación [opciones]
ParámetroDescripción
/TNNombre de la tarea
/TRRuta del programa o archivo por lotes que se ejecuta
/SCTipo de programación (DAILY, WEEKLY, ONCE, etc.)
/STHora de inicio (HH:MM)
/SDFecha de inicio (en el formato de fecha corta del sistema, p. ej. DD/MM/AAAA en es-ES)
/MOIntervalo o modificador (el 3 de “cada 3 días”)
/DDía de la semana o del mes (WEEKLY y MONTHLY)
/RUCuenta de usuario que ejecuta la tarea
/RLNivel de ejecución (HIGHEST para permisos de administrador)
/FSobrescribe una tarea con el mismo nombre sin advertencia
El formato de fecha y hora depende de la configuración regional

El formato de fecha de /SD y opciones similares puede variar según la configuración regional de Windows. Si obtienes un error, comprueba el formato que muestra schtasks /create /?.

Tipos de programación

TipoDescripción
MINUTESe ejecuta cada cierto número de minutos
HOURLYSe ejecuta cada cierto número de horas
DAILYSe ejecuta cada día o cada cierto número de días
WEEKLYSe ejecuta en los días de la semana indicados
MONTHLYSe ejecuta en un día concreto del mes
ONCESe ejecuta una sola vez
ONSTARTSe ejecuta al iniciar el sistema
ONLOGONSe ejecuta al iniciar sesión
ONIDLESe ejecuta cuando el equipo está inactivo (requiere /I con los minutos)

Ejecutar cada día a una hora fija

schtasks /create /tn "DailyBackup" /tr "C:\Scripts\backup.cmd" /sc daily /st 23:00
- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>schtasks /create /tn "DailyBackup" /tr "C:\Scripts\backup.cmd" /sc daily /st 23:00
CORRECTO: se creó correctamente la tarea programada “DailyBackup”.
C:\users\user>

Ejecutar cada varios días

Usa /MO para indicar el intervalo.

schtasks /create /tn "CleanupTask" /tr "C:\Scripts\cleanup.cmd" /sc daily /mo 3 /st 02:00

Ejecutar cada pocos minutos u horas

MINUTE y HOURLY toman el intervalo de /MO.

schtasks /create /tn "HealthCheck" /tr "C:\Scripts\check.cmd" /sc minute /mo 30
schtasks /create /tn "SyncTask" /tr "C:\Scripts\sync.cmd" /sc hourly /mo 2

Ejecutar en días concretos de la semana

Usa /D para indicar los días.

schtasks /create /tn "WeeklyReport" /tr "C:\Scripts\report.cmd" /sc weekly /d MON,FRI /st 09:00
DíaSignificado
MONLunes
TUEMartes
WEDMiércoles
THUJueves
FRIViernes
SATSábado
SUNDomingo

Ejecutar un día concreto del mes

Usa /SC MONTHLY con /D para indicar el día.

schtasks /create /tn "MonthlyJob" /tr "C:\Scripts\monthly.cmd" /sc monthly /d 1 /st 06:00

Indicar una ruta con espacios

Si la ruta de /TR contiene espacios, enciérrala con \" para escapar las comillas. Si no, todo lo anterior al primer espacio se toma como nombre del programa y la tarea no se ejecutará.

schtasks /create /tn "MyTask" /tr "\"C:\My Scripts\backup.cmd\"" /sc daily /st 23:00

Ejecutar al iniciar el sistema o la sesión

Al iniciar el sistema

schtasks /create /tn "StartupScript" /tr "C:\Scripts\startup.cmd" /sc onstart /ru SYSTEM

Al iniciar sesión

schtasks /create /tn "LoginScript" /tr "C:\Scripts\login.cmd" /sc onlogon
Sobre la opción /RU

/RU indica la cuenta de usuario que ejecuta la tarea. Con SYSTEM, la tarea se ejecuta aunque no haya ningún usuario con la sesión iniciada. Si omites /RU, la tarea se registra para el usuario que ejecutó el comando y solo se ejecuta mientras ese usuario tiene la sesión iniciada. Registrar una tarea como SYSTEM requiere permisos de administrador.

Para tareas que realizan operaciones que requieren permisos de administrador, añade /RL HIGHEST al registrarlas.

Ejecutar una sola vez

rem El formato de fecha mostrado es el de es-ES; adaptalo a tu configuracion regional
schtasks /create /tn "OneTimeTask" /tr "C:\Scripts\migrate.cmd" /sc once /st 03:00 /sd 15/03/2027

Ver las tareas registradas (/QUERY)

schtasks /query /tn "DailyBackup" /fo list
- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>schtasks /query /tn "DailyBackup" /fo list
Carpeta: \
NombreHost: DESKTOP-USER
Nombre de tarea: \DailyBackup
Próxima hora de ejecución: 11/03/2026 23:00:00
Estado: Listo
C:\users\user>
おすすめ書籍※ 広告を含む場合があります
中小企業経営者のためのRPA入門 RPA導入を成功させる方法

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超入門

60分でわかる! AIエージェント 超入門

コマンドラインの黒い画面が怖いんです。

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門

Ver todas las tareas

schtasks /query /fo table

Salida en CSV

schtasks /query /fo csv > tasks.csv

Para ver detalles como el comando que se ejecuta y el último resultado, añade /V.

schtasks /query /tn "DailyBackup" /v /fo list
チェック

Usa /FO para elegir el formato de salida: TABLE, LIST o CSV.

Eliminar una tarea (/DELETE)

schtasks /delete /tn "DailyBackup" /f
- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>schtasks /delete /tn "DailyBackup" /f
CORRECTO: se eliminó correctamente la tarea programada “DailyBackup”.
C:\users\user>

Con /F, la tarea se elimina sin pedir confirmación.

Deshabilitar o modificar una tarea (/CHANGE)

Para detener una tarea temporalmente sin eliminarla, deshabilítala con /CHANGE. Usa /ENABLE para volver a activarla.

schtasks /change /tn "DailyBackup" /disable
schtasks /change /tn "DailyBackup" /enable

Ejecutar una tarea manualmente (/RUN)

Para ejecutar de inmediato una tarea registrada, usa /RUN.

schtasks /run /tn "DailyBackup"

Detener una tarea en ejecución (/END)

Para detener una tarea que se está ejecutando, usa /END.

schtasks /end /tn "DailyBackup"

Ejemplo práctico: automatizar una copia de seguridad

Este ejemplo crea un archivo por lotes de copia de seguridad y lo registra en el Programador de tareas.

@echo off
setlocal

rem Donde se crea el script de copia de seguridad
set SCRIPT_PATH=C:\Scripts\daily_backup.cmd

if not exist "D:\Backup\Logs" mkdir "D:\Backup\Logs"

rem Crear el script de copia de seguridad
echo @echo off > "%SCRIPT_PATH%"
echo robocopy "C:\Users\user\Documents" "D:\Backup\Documents" /MIR /R:3 /W:5 /LOG+:"D:\Backup\Logs\backup.log" /NP >> "%SCRIPT_PATH%"

rem Registrar en el Programador de tareas
schtasks /create /tn "AutoBackup" /tr "%SCRIPT_PATH%" /sc daily /st 23:00 /f

echo Configuracion completada.
echo La copia de seguridad se ejecutara automaticamente cada dia a las 23:00.

endlocal
Sobre los permisos de administrador

Crear o eliminar tareas con schtasks puede requerir permisos de administrador. Si ves “Acceso denegado”, inicia el símbolo del sistema como administrador.

Resumen

AcciónComando
Crear una tareaschtasks /create /tn "nombre" /tr "ruta" /sc tipo /st hora
Listar tareasschtasks /query
Eliminar una tareaschtasks /delete /tn "nombre" /f
Ejecutar una tareaschtasks /run /tn "nombre"
Detener una tareaschtasks /end /tn "nombre"
Deshabilitar tareaschtasks /change /tn "nombre" /disable

Artículos relacionados

Pregunta de práctica

Problema de práctica

¿Qué valor de la opción /SC ejecuta un archivo por lotes cuando un usuario inicia sesión en el PC?

回答がサーバーに送信されることはありません
#Símbolo del sistema #Archivos por lotes #Línea de comandos #Comandos