计划命令和程序,以在指定的 at 时间和日期计算机上运行。 仅当计划服务正在运行时,才能使用 at 。 不使用参数, at 列出计划命令。 若要运行此命令,您必须是本地 Administrators 组的成员。
Syntax
at [\computername] [[id] [/delete] | /delete [/yes]]
at [\computername] <time> [/interactive] [/every:date[,...] | /next:date[,...]] <command>
Parameters
| Parameter | Description |
|---|---|
\<computername\> |
指定远程计算机。 如果省略此参数, at 请在本地计算机上计划命令和程序。 |
<id> |
指定分配给已计划命令的标识号。 |
| /delete | 取消已计划的命令。 如果省略 ID,则计算机上的所有计划命令都将被取消。 |
| /yes | 删除计划事件时,对来自系统的所有查询回答“是”。 |
<time> |
指定要运行命令的时间。 时间 24 小时表示法表示(即从 00:00(午夜)到 23:59),格式为“小时:分钟”。 |
| interactive | 允许命令与命令运行时登录at的用户的桌面进行交互。 |
| every: | 在一周或每月的每个指定日期(例如,每个星期四或每个月的第三天)运行 命令 。 |
<date> |
指定要运行命令的日期。 您可以指定一周中的一天或多天(即类型 M、T、W、Th、F、S、Su)或每月中的一天或多天(即类型 1 到 31)。 用逗号分隔多个日期条目。 如果省略 日期, at 则使用当月的当前日期。 |
| next: | 在一天中的下一次出现时运行 命令 (例如,下周四)。 |
<command> |
指定要运行的 Windows 命令、程序(即.exe 或.com 文件)或批处理程序(即.bat 或.cmd 文件)。 当命令需要路径作为参数时,请使用绝对路径(即以驱动器号开头的整个路径)。 如果该命令位于远程计算机上,请为服务器和共享名称指定通用命名约定 (UNC) 表示法,而不是远程驱动器号。 |
| /? | 显示命令提示符的帮助 at 。 |
Remarks
在运行命令之前,此命令不会自动加载 cmd.exe. 如果未运行可执行文件(.exe)文件,则必须显式加载 cmd.exe at 命令的开头,如下所示:
cmd /c dir > c:\test.out如果在没有命令行选项的情况下使用此命令,则计划任务将显示在格式类似于以下内容的表中:
Status ID Day time Command Line OK 1 Each F 4:30 PM net send group leads status due OK 2 Each M 12:00 AM chkstor > check.file OK 3 Each F 11:59 PM backup2.bat如果在此命令中包含标识号 (ID),则仅单个条目的信息以类似于以下格式显示:
Task ID: 1 Status: OK Schedule: Each F Time of Day: 4:30 PM Command: net send group leads status due计划命令(尤其是具有命令行选项的命令)后,通过键入而不键入 at 任何命令行选项来检查命令语法是否正确。 如果 “命令行” 列中的信息有误,请删除命令并重新键入。 如果仍然不正确,请重新键入命令并减少命令行选项的数量。
作为后台进程运行的计划 at 命令。 输出不会显示在计算机屏幕上。 要将输出重定向到文件,请使用重定向符号
>。 如果将输出重定向到文件,则需要在重定向符号之前使用转义符号^,无论是使用 atat 命令行还是批处理文件中。 例如,要将输出重定向到 output.txt,请键入:at 14:45 c:\test.bat ^>c:\output.txt执行命令的当前目录是 systemroot 文件夹。
如果在计划命令运行后更改系统时间,请键入at不带命令行选项,将at计划程序与修订的系统时间同步。
计划的命令存储在注册表中。 因此,即使重新启动计划服务,计划的任务也不会丢失。
请勿将重定向驱动器用于访问网络的计划作业。 如果其他用户在计划任务运行时登录 at ,则计划服务可能无法访问重定向驱动器,或者重定向驱动器可能不存在。 相反,请对计划的作业使用 UNC 路径。 For example:
at 1:00pm my_backup \\server\share不要使用以下语法,其中 x: 是用户建立的连接:
at 1:00pm my_backup x:如果计划使用 at 驱动器号连接到共享目录的命令,请包含一个 at 命令,用于在使用驱动器完成后断开驱动器的连接。 如果驱动器未断开连接,则分配的驱动器号将 at 不可用命令提示符。
默认情况下,使用此命令计划的任务将在 72 小时后停止。 可以修改注册表以更改此默认值。
修改注册表
Caution
不正确地编辑注册表可能会对系统造成严重损坏。 在更改注册表之前,应备份计算机上任何有价值的数据。
启动注册表编辑器 (regedit.exe)。
在注册表中找到并单击以下项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Schedule在 “编辑” 菜单上,单击“ 添加值”,然后添加以下注册表值:
Value Name. atTaskMaxHours
Data type. reg_DWOrd
Radix. Decimal
价值数据: 0. 值数据字段中的值为 0 表示没有限制,并且不会停止。 从 1 到 99 的值表示小时数。
可以使用“任务计划”文件夹查看或修改使用此命令创建的任务的设置。 使用此命令计划任务时,该任务将列在“计划任务”文件夹中,名称如下:at3478。 但是,如果通过“任务计划”文件夹修改任务,则该任务将升级为正常的计划任务。 该任务不再对命令可见 at ,帐户 at 设置不再适用于该任务。 你必须明确输入任务的用户帐户和密码。
Examples
要显示在 Marketing 服务器上计划的命令列表,请键入:
at \\marketing
要了解 Corp 服务器上标识号为 3 的命令的详细信息,请键入:
at \\corp 3
若要计划 net share 命令以在 Corp 服务器 at 8:00 A.M 上运行,并将列表重定向到维护服务器、报表共享目录中的 Corp.txt 文件,请键入:
at \\corp 08:00 cmd /c net share reports=d:\marketing\reports >> \\maintenance\reports\corp.txt
若要每隔五天午夜将市场营销服务器的硬盘驱动器备份到磁带驱动器 at ,请创建一个名为 Archive.cmd 的批处理程序,其中包含备份命令,然后计划批处理程序运行,键入:
at \\marketing 00:00 /every:5,10,15,20,25,30 archive
若要取消当前服务器上计划的所有命令,请清除 at 计划信息,如下所示:
at /delete
要运行不是可执行 (.exe) 文件的命令,请在命令前面加上 cmd /c 以加载 cmd.exe,如下所示:
cmd /c dir > c:\test.out