Windows 定时任务
在 Windows 上运行“定时任务”,最标准的方法是用系统自带的「任务计划程序(Task Scheduler)」。
最常见的 3 种方式如下:
- 图形界面:任务计划程序
按Win + R,输入:
然后:
-
右侧点「创建基本任务」
-
设置名称
-
选择触发条件:每天、每周、登录时、开机时等
-
“操作”选择「启动程序」
-
填入要运行的程序或脚本
-
保存
例如每天晚上 10 点运行 Python:
程序/脚本:
添加参数:
“起始于”建议填写:
这个“起始于”很重要。如果 Python 脚本用了相对路径,比如:
没有设置工作目录时,定时任务很容易出现“手动运行正常,计划任务运行失败”的问题。
- 命令行:
schtasks
例如每天 22:00 运行一个 Python 脚本:
schtasks /create /tn "MyPythonJob" /tr "\"C:\Python313\python.exe\" \"C:\code\job.py\"" /sc daily /st 22:00
查看:
立即测试执行:
删除:
如果你是写自动化脚本,我通常更推荐这种方式,因为可以把任务创建过程也写进 .bat / PowerShell 脚本里。
- PowerShell
PowerShell 对复杂任务更好控制。例如:
$action = New-ScheduledTaskAction `
-Execute "C:\Python313\python.exe" `
-Argument "C:\code\job.py"
$trigger = New-ScheduledTaskTrigger `
-Daily `
-At 10:00PM
Register-ScheduledTask `
-TaskName "MyPythonJob" `
-Action $action `
-Trigger $trigger
如果你真正的需求是“Windows 每隔 N 分钟自动跑一个 Python / exe / bat”,推荐直接用 Task Scheduler,而不是在 Python 里面:
因为 Task Scheduler 是操作系统级调度:电脑重启后仍然存在,也更容易处理失败重试、用户未登录、管理员权限等情况。
如果你告诉我你具体想定时运行的是 .py、.bat、.exe 还是某条命令,以及类似“每天 3 点 / 每 5 分钟 / 开机后运行”,我可以直接给你对应的可复制命令。