批处理之计划任务at和schtasks

windows有一个任务计划程序,可以打开这个程序,创建定时的任务。windows提供了两个命令行可以创建计划任务,分别是at和schtasks。schtasks被推荐用来替换at,并且at在win10操作系统中已经不再支持。要使用命令行创建计划任务,必须保证计划任务已经在运行。

1. at

1.1 语法

AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]]
AT [\\computername] time [/INTERACTIVE]
    [ /EVERY:date[,...] | /NEXT:date[,...]] "command"

\\computername       指定远程计算机。如果省略这个参数,会计划在本地计算机上运行命令。
id                   指定给已计划命令的识别号。
/delete              删除某个已计划的命令。如果省略 id, 计算机上所有已计划的命令都会被删除。
/yes                 不需要进一步确认时,跟删除所有作业的命令一起使用。
time                 指定运行命令的时间。
/interactive         允许作业在运行时,与当时登录的用户桌面进行交互。
/every:date[,...]    指定在每周或每月的特定日期运行命令。 如果省略日期,则默认为在每月的本日运行。
/next:date[,...]     指定在下一个指定日期(如,下周四)运 行命令。如果省略日期,则默认为在每月的本日运行。
"command"            准备运行的 Windows NT 命令或批处理程序。

1.2. 示例

1.2.1. 列出所有计划任务

at

1.2.2. 删除所有计划任务

at /delete /yes
at /d /y
at 2 /d
rem /d /y为简写
rem at 2 /d为删除指定任务号

1.2.3. 每个周二的上午8点执行批处理

at 8:00 /every:M cmd /c d:/md.bat 
at 8:00 /every:M d:/md.bat 
rem 既可以通过cmd来执行批处理,也可以直接运行批处理文件
rem Specifies the date when you want to run the command. 
rem You can specify one or more days of the week (that is, type M,T,W,Th,F,S,Su) 
rem or one or more days of the month (that is, type 1 through 31). 
rem Separate multiple date entries with commas. If you omit Date, at uses the current day of the month.

1.2.4. 每月3号0点执行关机任务

at 00:00 /every:3 shutdown /s /t 0
rem shutdown /s /t 0属于计划任务执行的命令行,/s关机,/t 0延时0秒

1.2.5. 每周一和周五0点执行关机任务

at 00:00 /every:M,F shutdown /s /t 0
rem /every:M,F表示每周二和周五

1.2.5. 下个月开始每个月3号0点自动关机

at 00:00 /next:3 shutdown /s /t 0
rem /next是相对于当前的下一次

2. schtasks

schtasks被微软推荐用来代替at创建定时计划任务。schtasks功能更加细化,更加强大。以下只描述主要功能,更多细节见微软资料

2.1. schtasks /create

此命令主要负责创建新的计划任务。

2.1.1 语法

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。

    说明
    INUTE、HOURLY、DAILY、WEEKLY、MONTHLY指定计划的时间单位。
    NCE任务在指定的日期和时间运行一次。
    NSTART任务在每次系统启动的时候运行。可以指定启动的日期,或下一次系统启动的时候运行任务。
    ONLOGON每当用户(任意用户)登录的时候,任务就运行。可以指定日期,或在下次用户登录的时候运行任务。
    NIDLE只要系统空闲了指定的时间,任务就运行。可以指定日期,或在下次系统空闲的时候运行任务。
  • /mo modifier
    指定任务在其计划类型内的运行频率。这个参数对于 MONTHLY 计划是必需的。对于 MINUTE、HOURLY、DAILY 或 WEEKLY 计划,这个参数有效,但也可选。默认值为 1。

    划类型修饰符说明
    MINUTE1~1439任务每n分钟运行一次。
    OURLY1~23任务每n小时运行一次。
    AILY1~365任务每n天运行一次。
    WEEKLY1~52任务每n周运行一次。
    MONTHLY1~12任务每n月运行一次。
    nullLASTDAY任务在月份的最后一天运行。
    nullFIRST、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 也不会提示索要密码。

2.1.2 示例

rem 每隔15分钟创建文件夹
schtasks /create /sc minute /mo 15 /tn "realTime" /tr "cmd /c md f:\abc"
rem 每个小时第5分钟执行批处理文件
schtasks /create /sc hourly /st 00:05:00 /tn "CustomBat" /tr c:\my.bat
rem 从2019年5月的第一天起每五小时运行一次
schtasks /create /sc hourly /mo 5 /sd 05/01/2019 /tn "My App" /tr c:\myapp.exe
rem 每天的 8:00 A.M. 运行一次,直到2019年12月31日结束。由于它忽略了/mo 参数,所以使用默认间隔 1 来每天运行命令
schtasks /create /tn "My App" /tr c:\myapp.exe /sc daily /st 08:00:00 /ed 12/31/2019
rem 计划任务每隔一周在周五运行
schtasks /create /tn "My App" /tr c:\myapp.exe /sc weekly /mo 2 /d FRI
rem 计划任务在每月的第一天运行
schtasks /create /tn "My App" /tr c:\myapp.exe /sc monthly
rem 计划任务在每月的最后一天运行
rem 使用 /mo 参数指定在每月的最后一天运行程序,使用通配符 (*) 与 /m 参数表明在每月的最后一天运行程序
schtasks /create /tn "My App" /tr c:\myapp.exe /sc monthly /mo lastday /m *
rem 计划任务在每月的第二个周日运行
schtasks /create /tn "My App" /tr c:\myapp.exe /sc monthly /mo SECOND /d SUN
rem 计划任务在五月和六月的第 15 天运行
schtasks /create /tn "My App" /tr c:\myapp.exe /sc monthly /d 15 /m MAY,JUN /st 15:00:00
rem 计划任务在每次系统启动的时候运行
schtasks /create /tn "My App" /tr c:\myapp.exe /sc onstart /sd 03/15/2019
rem 计划某项任务在计算机空闲的时候运行,使用必需的 /i 参数指定在启动任务之前计算机必需持续空闲十分钟
schtasks /create /tn "My App" /tr c:\myapp.exe /sc onidle /i 10

2.2. schtasks /change

更改一个或多个下列任务属性。

  • 任务运行的程序 (/tr)。
  • 任务运行的用户帐户 (/ru)。
  • 用户帐户的密码 (/rp)。

2.2.1. 语法

schtasks /change /tn TaskName [/s computer [/u [domain\]user /p password]]
 [/tr TaskRun] [/ru [Domain\]User | "System"] [/rp Password]

参数

  • /tn TaskName
    标识要更改的任务。输入任务名。

  • /s Computer
    指定远程计算机的名称或 IP 地址(带有或者没有反斜杠)。默认值是本地计算机。

  • /u [domain]user
    使用特定用户帐户的权限运行命令。默认情况下,使用已登录到运行 SchTasks 的计算机上的用户的权限运行命令。

  • /p password
    指定在 /u 参数中指定的用户帐户的密码。如果使用 /u 参数,则需要该参数。

  • /tr TaskRun
    更改任务运行的程序。输入可执行文件、脚本文件或批处理文件的完全合格的路径和文件名。如果忽略了路径,SchTasks.exe 假定文件在 Systemroot\System32 目录下指定的程序替换任务最初运行的程序。

  • /ru [Domain]User | "System"
    更改用于任务的用户帐户。

2.2.2 示例

rem 根据用户名更改任务运行的程序
schtasks /change /tn "Virus Check" /tr C:\VirusCheck2.exe
rem 将程序更改为 System 帐户
rem 更改SecurityScript 任务以使其以 NT Authority\System 帐户权限运行。它使用 /ru "" 参数来表示 System 帐户。
schtasks /change /tn SecurityScript /ru ""

2.3. schtasks /run

立即运行计划任务。

2.3.1 语法

schtasks /run /tn TaskName [/s computer [/u [domain\]user /p password]] /?

参数

  • /tn TaskName
    标识任务。该参数是必需的。

  • /s Computer
    指定远程计算机的名称或 IP 地址(带有或者没有反斜杠)。默认值是本地计算机。

  • /u [domain]user
    使用特定用户帐户的权限运行命令。默认情况下,使用已登录到运行 SchTasks 的计算机上的用户的权限运行命令。

  • /p password
    指定在 /u 参数中指定的用户帐户的密码。如果使用 /u 参数,则需要该参数。

  • /?
    在命令提示符显示帮助。

2.3.2 示例

rem 立即运行指定任务
schtasks /run /tn "Security Script"
rem 在远程计算机上运行任务
schtasks /run /tn Update /s Svr01

2.4. schtasks /end

终止由任务启动的程序

2.4.1 语法

schtasks /end /tn TaskName [/s computer [/u [domain\]user /p password]] /?

参数

  • /tn TaskName
    标识启动程序的任务。该参数是必需的。

  • /s Computer
    指定远程计算机(带有或者没有反斜杠)的名称或 IP 地址。默认值是本地计算机。

  • /u [domain]user
    使用特定用户帐户的权限运行命令。默认情况下,使用已登录到运行 SchTasks 的计算机上的用户的权限运行命令。

  • /p password
    指定在 /u 参数中指定的用户帐户的密码。如果使用 /u 参数,则需要该参数。

  • /?
    显示帮助。

2.4.2 示例

rem 终止本地计算机上的任务
schtasks /end /tn "My Notepad"
rem 终止远程计算机上的任务
schtasks /end /tn InternetOn /s Svr01

2.5. schtasks /delete

删除计划任务

2.5.1. 语法

schtasks /delete /tn {TaskName | *} [/f] [/s computer [/u [domain\]user /p password]] [/?]

参数

  • */tn {TaskName | }
    标识要删除的任务。该参数是必需的。

    说明
    askName删除已命名任务。
    *删除计算机上的所有计划任务。
  • /f
    阻止确认消息。不警告就删除任务。

  • /s Computer
    指定远程计算机的名称或 IP 地址(带有或者没有反斜杠)。默认值是本地计算机。

  • /u [domain]user
    使用特定用户帐户的权限运行命令。默认情况下,使用已登录到运行 SchTasks 的计算机上的用户的权限运行命令。

  • /p password
    指定在 /u 参数中指定的用户帐户的密码。如果使用 /u 参数,则需要该参数。

  • /?
    在命令提示符显示帮助。

2.5.2. 示例

rem 从远程计算机上的计划表中删除任务
schtasks /delete /tn "Start Mail" /s Svr16
rem 删除所有为本地计算机计划的任务。
schtasks /delete /tn * /f

2.6. schtasks /query

查询计划任务

2.6.1. 语法

语法

schtasks [/query] [/fo {TABLE | LIST | CSV}] [/nh] [/v] [/s computer [/u [domain]user /p password]]

参数

  • /query
    操作名称可选。键入不带任何参数的 schtasks 来执行查询。

  • /fo {TABLE|LIST|CSV}
    指定输出格式。TABLE 为默认值。

  • /nh
    忽略表格显示中的列标题。此参数与 TABLE 和 CSV 输出格式共同使用时有效。

  • /v
    将任务的高级属性添加到显示中。
    使用 /v 的查询应该格式化成 LIST 或 CSV。

  • /s Computer
    指定远程计算机的名称或 IP 地址(带有或者没有反斜杠)。默认值是本地计算机。

  • /u [domain]user
    使用特定用户帐户的权限运行命令。默认情况下,使用已登录到运行 SchTasks 的计算机上的用户的权限运行命令。

  • /p password
    指定在 /u 参数中指定的用户帐户的密码。如果使用 /u 参数,则需要该参数。

  • /?
    在命令提示符显示帮助。

2.6.2. 示例

rem 显示本地计算机上的计划任务
schtasks
schtasks /query
rem 显示计划任务的高级属性
schtasks /query /fo LIST /v
rem 将为远程计算机计划的任务记入日志
schtasks /query /s Reskit16 /fo csv /nh >> \\svr01\data\tasklogs\p0102.csv

更多信息参考微软

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
自学批处理笔记(1) 自学批处理笔记(2) cd md rd 自学批处理笔记(3) dir copy 重定向符>>,>,< 自学批处理笔记(4) xcopy attrib 自学批处理笔记(5) del ren move 自学批处理笔记(6) echo pause rem exit 自学批处理笔记(7) set 自学批处理笔记——三种建立畸形文件夹的方法 计算机发展故事 自学批处理笔记(8) set 变量 cls tree 自学批处理笔记(9) edit fc comp more start 自学批处理笔记(10)date time color mode 自学批处理笔记(11) vol label format defrag chkdsk convert 自学批处理笔记(12)if 自学批处理笔记(13)goto for 变量延时 自学批处理笔记(14)assoc ftype pushd popd call shift 批处理的练习(1) 批处理的练习(2)图形界面的制作 自学批处理笔记(15)find findstr 批处理练习(3) 文件处理 制作进度条 判断字符长度 自学批处理笔记(16)常用符号详解 explorer 自学批处理笔记(17)schtasks /create 自学批处理笔记(18)schtasks /change /run /end /delete /query 批处理练习(4) 自学批处理笔记(19)path replace compact expand print cipher 一些小练习 补充:批处理实现退格功能 批处理应用——使电脑如飞 批处理中处理特殊字符的几种方法 批处理练习(5) 和 call echo 用法 及 2>& DOS技巧(转) 系统默认环境变量中的路径 【试卷】自编批处理题目试卷,难度中(转) 自学批处理笔记(20) exit ver subst 替换字符串%var:*"=set "var=%的用法 自学批处理笔记——小问题积累1 温故知新——谈谈goto for call三种句式(转) 批处理中的预处理 变量嵌套(转) 批处理应用——按照歌手名分类整理文件的批处理分析(转) 批处理中的重定向符号以及句柄的使用方法和原理讲解(转) 命令小练习 批处理逃逸字符%的详细解释 自学批处理笔记(21) for中的特殊符号 set /p补充 sort shutdown 自学批处理笔记(22)tasklist taskkill

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值