at命令是计划在指定事件和日期在计算机上运行命令和程序。at命令只能在“计划”服务运行时使用。如果在没有参数的情况下使用,则at命令将列出已计划的命令。
1.语法
at[\\ComputerName] [{[ID] [/delete]|/delete[/yes]}]
At[\\ComputerName]hours:minutes[/interactive][{/every:date[,…]|/next:date[,….]}]command]
2.参数说明
\\ComputerName:指定远程计算机。如果省略该参数,则at用于计划本地计算机上的命令和程序。
ID:指定指派给已计划命令的识别码。
/delete:取消已计划的命令。如果省略了ID,则计算机中所有已计划的命令将被取消。
/yes:删除已计划的事件时,对来自系统的所有询问都回答“是”。
hours:minutes:指定命令运行的时间。该时间用24小时制(即从00:00[午夜]到23:59)的小时:分钟格式表示。
/interactive:对于在运行command时登录的用户,允许command与该用户的桌面进行交互。
/every:date:在每个星期或每个月的指定日期(如:每个周四,或第几月的第三天)运行command命令。可以指定一周的某日或多日(即,键入M、T、W、Th、F、S、Su)或一个月中的某日或多日(即,键入1~31之间的数字)。用逗号分隔多个日期项。如果省略了date,则at使用该月的当前日。
/next:date:在下一个指定的日期(例如,下一个周四)到来时运行command。
command:指定要运行的Windows命令、程序(.exe或.com文件)或批处理程序(.bat或.cmd文件)。当命令需要路径作为参数时,应使用绝对路径,也即从驱动器号开始的整个路径。如果命令在远程计算机上,应指定服务器和共享名的通用命名协定(UNC)符号,而不是远程驱动器号。
3.at命令使用详解
使用at命令还可能实现如下几个作用。
1)schtasks命令:schtasks命令是一个功能更为强大的超级命令行计划工具,它含有at命令行工具中的所有功能。对于所有的命令行计划任务,都可以使用schtasks来代替at.使用at命令时,要求您必须是本地Administrators组成的成员。
2)加载cmd.exe:在运行命令之前,at不会自动加载cmd.exe(命令解释器)。如果没有运行可执行文件(.exe),则在命令开头必须使用“Cmd /c dir>c:\test.out”专门加载cmd.exe。
3)查看已计划的命令:当不带参数使用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
4)包含标识号(ID):当在命令提示符下使用带有标识号(ID)的at命令时,单个任务项的信息会显示在类似下面格式中。
Task ID:
Status:OK
Schedule:Each F
Time of Day:4:30 PM
Command:net send group leads status due
当计划带有at的命令(尤其是带有命令行选项的命令)之后,通过键入不带命令行选项的at命令,即可检查该命令语法是否输入正确。如果显示在“命令行”列表中的信息不正确,则应在删除该命令之后再重新键入它。如果还不正确,则可以在重新键入该命令时,让其少带些命令行选项。
5)查看结果:使用at命令制订的计划将仅作为后台程序运行,运行结果不会显示在计算机上。要将输出重定向到文件,应使用重定向符号(>)。如果将输出重定向到文件,则不论是在命令行还是在批处理文件中使用at,都需要在重定向符号之前使用转义符(^)。例如要重定向输出到output.text文件,则可以键入“at 14:30 c:\output.txt.”命令。
6)更改系统时间:在使用at命令计划了要运行的命令之后,如果更改了计算机的系统时间,则通过键入不带命令行选项的at命令,可使at计划程序与修改后的系统时间同步。
7)存储命令:已计划的命令存储在注册表中。这样,如果重新启动“计划”服务,则不会丢失计划任务。
8)连接到网络驱动器:对于需要访问网络的计划作业,请不要使用已重定向的驱动器。“计划”服务可能无法访问这些重定向驱动器,或在该计划任务运行时,如果有其他用户登录,则这些重定向的驱动器可能不会出现。
因此,对于计划作业,应使用UNC路径。例如:At 1:00pm my_backup\\server\share,如果计划了一个使用驱动器号的at命令来连接共享目录,则应包含一个at命令以使在完成该驱动器的使用时断开与驱动器的连接。如果不能断开与驱动器的连接,则在命令提示下,所指派的驱动器号将不可用。
4.典型示例
1)若想显示Office服务器上已计划的命令列表,则应键入“At\\Office”命令。
2)若想要中午12:00在company服务器上运行网络共享命令,并将该列表定向到Maintenance服务器的Company.txt文件(位于Reports共享目录下)中,则应键入“At\\company 12:00 cmd/c ”netsharereports=d:\office\reports>>\\maintenance\reports\company.txt””命令。
3)如果想要离开计算机,但它又在在进行工作,这时就要用到自动关机。Windows XP具备定时关机的功能,如果想让Windows 2000也实现同样的效果,则可把shutdown.exe复制到系统目录下。例如,想在23:00关机,则可以输入“At 23:00 shutdown -s”命令。这样,到了23:00计算机就会出现“系统关机”对话框,默认有30s的倒计时并提供用户保存工作。
4)如果想以倒计时的方式关机,则可以输入“Shutdown.exe -s -t 360”命令,这里表示6分钟后自动关机,“360”代表6分钟。
5)若想16点时发送信息至192.168.0.55计算机,则可以输入“At 16:00 net send 192.168.0.55 与朋友约会的时候到了,快点出发把!”命令。