在Windows操作系统中,命令提示符(CMD)是一个强大的工具,它允许用户通过文本命令与系统进行交互。at命令是一个计划任务工具,用于在指定的时间运行命令或程序,尽管在较新的Windows版本中(如Windows 8和Windows 10),at命令已被schtasks命令取代,但了解at命令的实例和用法仍然对理解Windows任务计划的历史和某些特定场景下的应用有所帮助,以下将详细介绍at命令的实例及其使用方法。

at命令的基本语法为at [\\计算机名] [时间] [命令],其中\\计算机名是可选的,用于指定远程计算机;时间是任务运行的指定时间;命令是要执行的程序或脚本,需要注意的是,at命令需要以管理员权限运行,并且计算机必须安排运行“计划任务”服务。at命令使用24小时制时间格式,14:30”表示下午2点30分。
实例1:在指定时间运行程序
假设用户希望在每天下午3点自动打开计算器程序,可以使用以下命令:
at 15:00 calc.exe此命令将在每天下午3点启动计算器,如果希望只在特定日期运行,可以添加日期参数,
at 15:00 2023-12-31 calc.exe这将在2023年12月31日下午3点运行计算器,需要注意的是,日期格式为“YYYY-MM-DD”,且日期和时间之间用空格分隔。

实例2:使用交互式命令
at命令也可以运行交互式命令,例如在指定时间打开命令提示符并执行一系列操作。
at 16:00 cmd /k "echo Hello, World!"此命令将在下午4点打开命令提示符,并显示“Hello, World!”。/k参数表示在执行命令后保持窗口打开,方便用户查看输出结果。
实例3:查看计划任务
要查看当前计划的所有任务,可以使用以下命令:
at执行后,系统将列出所有计划任务的编号、运行时间和命令。

任务 ID 时间 命令
----------- ------------ -----------------------
1 2023-12-01 15:00 calc.exe
2 2023-12-02 16:00 cmd /k "echo Hello"通过任务ID,用户可以管理特定的任务,例如删除任务。
实例4:删除计划任务
如果需要删除某个计划任务,可以使用at命令加任务ID,要删除任务ID为1的任务:
at /delete 1此命令将删除计划在2023年12月1日下午3点运行的计算器任务,如果需要删除所有计划任务,可以使用:
at /delete /yes/yes参数表示确认删除所有任务,无需进一步提示。
实例5:在远程计算机上运行任务
at命令还支持在远程计算机上计划任务,假设需要在一台名为“SERVER01”的远程计算机上计划任务,可以使用以下命令:
at \\SERVER01 17:00 notepad.exe此命令将在“SERVER01”计算机的下午5点打开记事本程序,需要注意的是,执行此命令的用户必须在远程计算机上具有相应的权限,并且远程计算机的“计划任务”服务必须正在运行。
实例6:使用特定用户身份运行任务
at命令默认以系统权限运行任务,但有时需要以特定用户的身份运行,可以通过以下方式实现:
at 18:00 /interactive "notepad.exe"/interactive参数表示任务将以交互式方式运行,允许用户与程序进行交互,但请注意,at命令本身不支持直接指定用户身份,这一点与schtasks命令不同,如果需要以特定用户身份运行任务,建议使用schtasks命令。
实例7:重复性任务
at命令不支持直接创建重复性任务(如每天或每周运行),但可以通过结合其他命令实现,可以使用批处理文件和循环计划来模拟重复性任务,以下是一个示例批处理文件:
@echo off :loop at 09:00 calc.exe timeout /t 86400 /nobreak >nul goto loop
此批处理文件将每天上午9点运行计算器,然后等待86400秒(24小时)后再次计划任务,需要注意的是,这种方法依赖于timeout命令,且可能不够精确。
实例8:重定向输出
at命令的输出可以重定向到文件中,便于后续查看。
at 19:00 "echo Task completed" > C:\output.txt此命令将在晚上7点将“Task completed”写入C:\output.txt文件中,如果需要追加内容而非覆盖,可以使用>>符号:
at 20:00 "echo Another task" >> C:\output.txt实例9:结合网络命令
at命令也可以结合网络命令使用,例如在指定时间映射网络驱动器:
at 10:00 net use Z: \\SERVER01\share /user:username password此命令将在上午10点将远程计算机“SERVER01”上的“share”文件夹映射为本地Z盘,并使用指定的用户名和密码进行身份验证。
实例10:使用at命令的局限性
尽管at命令在某些场景下仍然有用,但它存在一些局限性,不支持用户身份指定、重复性任务计划、更灵活的时间格式(如“now +1 hour”)等,在Windows Vista及更高版本中,推荐使用schtasks命令,它提供了更强大和灵活的任务计划功能,使用schtasks创建每天运行的任务:
schtasks /create /tn "Daily Calculator" /tr "calc.exe" /sc daily /st 15:00at命令是一个简单的任务计划工具,适用于基本的定时任务需求,通过上述实例,用户可以了解如何在指定时间运行程序、查看和管理任务、在远程计算机上计划任务等,由于其功能有限,建议在新的Windows版本中使用schtasks命令以获得更好的体验和功能支持。
相关问答FAQs
问题1:at命令和schtasks命令有什么区别?
解答:at命令是早期的任务计划工具,功能较为基础,不支持用户身份指定、重复性任务计划等高级功能,且在某些Windows版本中已被弃用,而schtasks命令是at的替代品,提供了更灵活的任务计划选项,如支持按天、周、月等周期运行任务,可以指定用户身份,并支持更复杂的时间设置。schtasks命令还支持任务的安全性和权限管理,更适合现代Windows环境。
问题2:为什么at命令无法运行,提示“拒绝访问”?
解答:at命令需要以管理员权限运行,如果当前用户账户没有管理员权限,系统会提示“拒绝访问”,解决方法是右键点击命令提示符,选择“以管理员身份运行”,确保计算机的“计划任务”服务(Task Scheduler)正在运行,可以通过服务管理器(services.msc)检查并启动该服务,如果问题仍然存在,可能是由于组策略或安全设置限制了at命令的使用,建议检查相关策略配置。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/480113.html<
