windows下定时任务设置

Linux 系统可以通过crontab -e 设置定时任务,Windows系统没有crontab命令,但是Windows系统有跟crontab命令比较接近的命令: schtasks 命令。

# 设置定时任务

(每分钟执行一次):

(每天9:30执行) 

# 查询定时任务(如果查询出错,那么切换字符集 chcp 437,切回来 chcp 936)
schtasks /query
 
# 删除定时任务

 

具体参数说明参见:https://docs.microsoft.com/en-us/previous-versions/orphan-topics/ws.10/cc772785(v=ws.10)#BKMK_syntax

常见问题

  1.手动执行bat文件运行正常,schtasks定时执行时报错。(通常是找不到相应的配置文件)

    原因:

      schtasks的默认起始路径为:C:WindowsSystem32

    解决方法:

      在定时执行的bat文件开头加几行命令,先进入存放配置文件的目录。如:

      

  2.每天指定时间段(如:9:30--15:05)内每隔一分钟执行一次的定时任务A,在第二天不会自动执行

    解决方法:

      将任务A的创建语句写在CreateCronJob.bat 文件中,然后加一个定时任务B,并设置B每天9:29分运行一次 CreateCronJob.bat

    创建任务A:schtasks /create /tn "SyncGpPoolData" /tr "D:pythonSyncGpPoolDatamonitor.bat" /f /sc minute /mo 1 /st 09:30 /et 15:30 /k

    创建任务B:schtasks /create /tn "SyncGpPoolMonitor_930" /tr "D:pythonSyncGpPoolDataCreateCronJob.bat" /sc daily /st 09:30

原文地址:https://www.cnblogs.com/SZxiaochun/p/6370702.html