一个简单的需求,windows 服务器设置计划任务,在需要在指定时间段 9 点到 15 点执行特定的程序。 但是 windows 的计划任务不像 corntab 那样支持设定指定时间区间,只可以设置每小时启动一次。
方法 1. 启动 Bootstrap 程序,根据当前时间决定是否继续执行任务
获取当前时间的字符串
SET curr_time=%TIME:~0,-5%
SET curr_time_str=%curr_time::=%
获取时间后,逻辑判断是否 goto 执行相应的代码
完整的代码
@echo off
ECHO "Time Schedule Bootstrap"
SET curr_time=%TIME:~0,-5%
SET curr_time_str=%curr_time::=%
IF %curr_time_str% leq 0900 (GOTO time_cancel) ELSE (
IF %curr_time_str% leq 1500 (GOTO time_exec) ELSE (
GOTO time_cancel
)
)
exit 0
_exec
ECHO "Call CMD.exe"
CMD.exe
exit 0
_cancel
ECHO "Canceled"
exit 10
方法 2. 设置每天启动一次在指定的小时,需要设置多次,此处跳过