使用schtasks命令创建windows定时任务

前言

windows10 中创建定时任务可以通过进入 控制面板->管理工具->任务计划程序->任务计划程序库 进行创建,也可以通过 schtasks 命令进行创建。
使用schtasks命令创建windows定时任务_第1张图片

介绍

Schtasks
安排命令和程序定期运行或在指定时间内运行。从计划表中添加和删除任务,按需要启动和停止任务,显示和更改计划任务。

//查看内置的基本命令
schtasks /?

使用schtasks命令创建windows定时任务_第2张图片
直接启动一个定时任务
schtasks /rn /rn 任务名称
定时任务删除
schtasks /delete /tn 任务名称

语法

schtasks/create/tnTaskName/trTaskRun/scschedule[/momodifier][/dday][/mmonth[,month…][/iIdleTime][/stStartTime][/sdStartDate][/edEndDate][/scomputer[/u[domain]user/ppassword]][/ru{[Domain]User|“System”} [/rpPassword]]/?

参数
/tn TaskName 指定任务的名称。
/tr TaskRun 指定任务运行的程序或命令。键入可执行文件、脚本文件或批处理文件的完全合格的路径和文件名。如果忽略该路径,SchTasks.exe 将假定文件在Systemroot\System32 目录下。
/sc schedule 指定计划类型。有效值为 MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY、ONCE、ONSTART、ONLOGON、ONIDLE。

说明
MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY 分钟、小时、天、周、月
ONCE 任务在指定的日期和时间运行一次。
ONSTART 任务在每次系统启动的时候运行。可以指定启动的日期,或下一次系统启动的时候运行任务。
ONLOGON 每当用户(任意用户)登录的时候,任务就运行。可以指定日期,或在下次用户登录的时候运行任务。
ONIDLE 只要系统空闲了指定的时间,任务就运行。可以指定日期,或在下次系统空闲的时候运行任务。

/mo modifier 指定任务在其计划类型内的运行频率。这个参数对于 MONTHLY 计划是必需的。对于 MINUTE、HOURLY、DAILY 或 WEEKLY 计划,这个参数有效,但也可选。默认值为 1。

计划类型 修饰符 说明
MINUTE 1~1439 任务每n分钟运行一次。
HOURLY 1~23 任务每n小时运行一次。
DAILY 1~365 任务每n天运行一次。
WEEKLY 1~52 任务每n周运行一次。
MONTHLY 1~12 任务每n月运行一次。
LASTDAY 任务在月份的最后一天运行。
FIRST、SECOND、THIRD、FOURTH、LAST 与/dday参数共同使用,并在特定的周和天运行任务。例如,在月份的第三个周三。

/d dirlist 指定周或月的一天。只与 WEEKLY 或 MONTHLY 计划共同使用时有效。

计划类型 日期值
WEEKLY 可选项。有效值是 MON ~ SUN 和 * (每一天)。MON 是默认值。
MONTHLY 在使用 FIRST、SECOND、THIRD、FOURTH 或 LAST 修饰符 (/mo) 时,需要 MON ~ SUN 中的某个值。1 ~ 31 是可选的,只在没有修饰符或修饰符为1 ~ 12类型时有效。默认值是 1 (月份的第一天)。

/m month[,month…] 指定一年中的一个月。有效值是 JAN ~ DEC 和 * (每个月)。/m参数只对于 MONTHLY 计划有效。在使用 LASTDAY 修饰符时,这个参数是必需的。否则,它是可选的,默认值是 * (每个月)。

/i InitialPageFileSize 指定任务启动之前计算机空闲多少分钟。键入一个1 ~ 999之间的整数。这个参数只对于 ONIDLE 计划有效,而且是必需的。
/st StartTime 以HH:MM:SS24 小时格式指定时间。默认值是命令完成时的当前本地时间。/st参数只对于 MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY 和 ONCE 计划有效。它只对于 ONCE 计划是必需的。
/sd StartDate 以MM/DD/YYYY格式指定任务启动的日期。默认值是当前日期。/sd参数对于所有的计划有效,但只对于 ONCE 计划是必需的。
/ed EndDate 指定任务计划运行的最后日期。此参数是可选的。它对于 ONCE、ONSTART、ONLOGON 或 ONIDLE 计划无效。默认情况下,计划没有结束日期。
/s Computer 指定远程计算机的名称或 IP 地址(带有或者没有反斜杠)。默认值是本地计算机。
/u [domain]user 使用特定用户帐户的权限运行命令。默认情况下,使用已登录到运行 SchTasks 的计算机上的用户的权限运行命令。
/p password 指定在/u参数中指定的用户帐户的密码。如果使用/u参数,则需要该参数。
/ru {[Domain]User|“System”} 使用指定用户帐户的权限运行任务。默认情况下,使用用户登录到运行 SchTasks 的计算机上的权限运行任务。

说明
[domain}User? 指定用户帐户。
“System"或”" 指定操作系统使用的 NT Authority\System 帐户。

/p Password 指定用户帐户的密码,该用户帐户在/u参数中指定。如果在指定用户帐户的时候忽略了这个参数,SchTasks.exe 会提示您输入密码而且不显示键入的文本。使用 NT Authority\System 帐户权限运行的任务不需要密码,SchTasks.exe 也不会提示索要密码。
/? 在命令提示符显示帮助。

以下为几个例子

输入命令

//这个命令是创建一个计算器的任务,在晚上8:00的时候运行一次calc.exe程序。
schtasks /create /tn "计算器"/tr calc.exe /sc once /st 20:00

在这里插入图片描述输入命令

//这个命令会使 test.bat 脚本每 20 分钟运行一次。
schtasks /create /sc minute /mo 20 /tn "可执行脚本" /tr C:\Users\admin\Desktop\testbat\test.bat

输入命令

//计划命令在每小时过五分的时候运行。下面的命令从午夜过后五分钟起每小时运行一次。因为忽略了/mo参数,命令使用了小时计划的默认值,即每1 小时。如果该命令在 12:05 A.M 之后生成,程序将在第二天才会运行。
schtasks /create /sc hourly /st 00:05:00 /tn "我的任务" /tr c:\apps\myapp.exe

输入命令

//在空闲的10分钟时候运行一个屏保称序
schtasks /create /tn "屏保"/tr "%windir%\system32\logon.scr /s" /sc onidle /i 10 /ru zly /rp windows

总结

schtasks 命令行创建定时任务相比较通过 windows 自带的 GUI 创建定时任务而言更加的灵活性,就是命令开始使用起来需要对照语法来操作。

你可能感兴趣的:(服务器,windows,定时任务,shell)