At



计划在指定时间和日期在计算机上运行命令和程序。at 命令只能在“计划”服务运行时使用。如果在没有参数的情况下使用，则 at 列出已计划的命令。


语法



at [\\ComputerName] [{[ID] [/delete]|/delete [/yes]}]


at [[\\ComputerName] hours:minutes [/interactive] [{/every:date[,...]|/next:date[,...]}] command]


参数



	\\computername

	指定远程计算机。如果省略该参数，则 at 计划本地计算机上的命令和程序。

	ID

	指定指派给已计划命令的识别码。

	/delete

	取消已计划的命令。如果省略了 ID，则计算机中所有已计划的命令将被取消。

	/yes

	删除已计划的事件时，对来自系统的所有询问都回答“是”。

	hours:minutes

	指定命令运行的时间。该时间用 24 小时制（即从 00:00 [午夜] 到 23:59）的 小时: 分钟格式表示。

	/interactive

	对于在运行 command 时登录的用户,允许 command 与该用户的桌面进行交互。

	/every:

	在每个星期或月的指定日期（例如，每个星期四，或每月的第三天）运行 command 命令。

date
 指定运行命令的日期。可以指定一周的某日或多日（即，键入 M、T、W、Th、F、S、Su）或一个月中的某日或多日（即，键入从 1 到31 之间的数字）。用逗号分隔多个日期项。如果省略了 date，则 at 使用该月的当前日。

	/next: 

	在下一个指定日期（比如，下一个星期四）到来时运行 command。

	command

	指定要运行的 Windows 命令、程序（.exe 或 .com 文件）或批处理程序（.bat 或 .cmd 文件）。当命令需要路径作为参数时，请使用绝对路径，也就是从驱动器号开始的整个路径。如果命令在远程计算机上，请指定服务器和共享名的通用命名协定 (UNC) 符号，而不是远程驱动器号。

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




注释



Schtasks 是功能更为强大的超集命令行计划工具，它含有 at 命令行工具中的所有功能。对于所有的命令行计划任务，都可以使用 schtasks 来替代 at。有关 schtasks 的详细信息，请参阅“”。
	使用 at


使用 at 命令时，要求您必须是本地 Administrators 组的成员。

 加载 Cmd.exe

在运行命令之前，At 不会自动加载 Cmd.exe （命令解释器）。如果没有运行可执行文件 (.exe)，则在命令开头必须使用如下所示的方法专门加载 Cmd.exe：
	
cmd /c dir > c:\test.out。
    
 查看已计划的命令
	
 当不带命令行选项使用 at 时，计划任务会出现在类似于以下格式的表中： 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)
	
当在命令提示下使用带有标识号 (ID) 的 at 命令时，单个任务项的信息会显示在类似于下面的格式中： Task ID：      1

Status:OK

Schedule:Each  F

Time of Day:4:30 PM

Command:net send group leads status due

 当计划带有 at 的命令（尤其是带有命令行选项的命令）后，要通过键入不带命令行选项的 at 来检查该命令语法是否输入正确。如果显示在“命令行”列中的信息不正确，请删除该命令，然后重新键入它。如果还不正确，则可以在重新键入该命令时让它少带些命令行选项。
	
	 查看结果
	
使用 at 的已经计划的命令作为后台程序运行。运行结果不会显示在计算机上。要将输出重定向到文件，请使用重定向符号 (>)。如果将输出重定向到文件，则不论是在命令行还是在批处理文件中使用 at，都需要在重定向符号之前使用转义符 (^)。例如，要重定向输出到 Output.text 文件，则要键入： 

 at 14:45 c:\test.bat ^>c:\output.txt

执行命令的当前目录为 systemroot 文件夹。
	
	更改系统时间
	
在使用 at 命令计划了要运行的命令之后，如果更改了计算机的系统时间，则通过键入不带命令行选项的 at 可使 at 计划程序与修改后的系统时间同步。
	
	 存储命令
	
已计划的命令存储在注册表中。这样，如果重新启动“计划”服务，则不会丢失计划任务。
	
	 连接到网络驱动器
	
对于需要访问网络的计划作业，请不要使用已重新定向的驱动器。“计划”服务可能无法访问这些重定向的驱动器，或者，在该计划任务运行时如果有其他用户登录，则这些重定向的驱动器可能不会出现。因此，对于计划作业，请使用 UNC 路径。例如：

 at 1:00pm my_backup \\server\share 

 请不要使用下述语法（其中 x: ?表示由用户建立的连接）：


 at 1:00pm my_backup x: 

 如果计划了一个使用驱动器号的 at 命令来连接共享目录，则应包含一个 at 命令以使在完成该驱动器的使用时断开与驱动器的连接。如果不能断开与驱动器的连接，则在命令提示下，所指派的驱动器号将不可用。
	





范例



 要显示 Marketing 服务器上已计划的命令列表，请键入： at \\marketing

 要了解服务器 Corp 上标识号为 3 的命令的详细信息，请键入： at \\corp 3

 要计划在上午 8:00 于 Corp 服务器上运行网络共享命令，并将该列表重定向到 Maintenance 服务器的 Corp.txt 文件（位于 Reports 共享目录下）中，请键入： at \\corp 08:00 cmd /c "net share reports=d:\marketing\reports >> \\maintenance\reports\corp.txt"

 为了在每五天后的午夜将 Marketing 服务器的硬盘驱动器备份到磁带驱动器，首先创建名为 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。

XOX






 
