首页 > 编程知识 正文

Cmd关机命令,cmd中关机是哪个命令

时间:2023-05-06 18:28:27 阅读:223967 作者:3377

    在Windows下,cmd是一个非常便捷的工具。本文介绍几种使用cmd关机的方法:

(一)关机命令
   (1)shutdown -s

     该命令为过60s后关机

    (2)shutdown -s -t <time>

      该命令为倒计<time>秒的时间关机,比如说,shutdown -s -t 3600便是使电脑在60分钟后关机。

    (3)shutdown -a

     如果关机命令的相关参数设置错误,可通过上述命令进行取消。

(二)AT命令的使用方式
    (1)AT <24小时制的时间> shutdown -s

      上述命令为调用AT的方式来让PC机在指定时间执行关机命令(即shutdown -s),当然,AT也可用来进行其它cmd命令的计划执行。

     (2)AT <ID> /del

      上述命令可用来删除与ID对应的AT计划命令,其中AT可通过执行AT的方式来获取。一般而言,ID的起始数值为1,如果AT查看到的ID超过1,可通过AT <ID> /del来删除已经无用的AT计划。

     (3)定时提醒

      AT 12:00 MSG /server:<对应PC的IP> * “<要输出的消息>”

     其中,MSG为win7下的Net Send内部程序,可发送消息到网络上的其他用户、计算机。其中PC的IP可通过cmd的ipconfig命令获得。

       (4)自动运行批处理文件

      一般,用于在指定时间运行程序

    命令:AT 1:00 /Every:Saturday 123.bat

     这样上述命令便会在每周六的1:00时刻,电脑自动执行123.bat批处理文件。(123.bat为自行编写的批处理文件)

      (5)AT /del

       删除所有的AT计划。

 

     总而言之,AT命令是简化版的计划任务(schtasks命令),接下来对AT命令进行详细介绍:

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。


使用 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 &gt; 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 \servershare


请不要使用下述语法(其中 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:marketingreports >> \maintenancereportscorp.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。
t命令是简化版的计划任务(schtasks命令),对于运行一个月之后的,只运行一次的任务的支持并不好,也就是说可以设置一个月之内运行一次指定任务。例如:
假设今天是2月9日,可以使用 at 13:23 /next:8 c:1.exe 来设置在3月8日13:23运行一次1.exe。/next:8 是指下一次运行时间是月的第8天。因为2月9日是月的第9天,第8天已过,所以设置为/next:8会延续为下个月第8天。


若非用at来实现在特定日期运行程序, 可以借助条件判断来嵌套at命令。例如:
at 12:00 /every:M,T,W,Th,F,S,Su cmd /c "if "%"date:~,10"%" == 2010-03-08 at 13:23 c:1.exe"
注意百分号%一定要用引号引起来防止转义。
整个命令的意思是 在每天12点检查当前日期是不是2010-03-08,如果是就添加at任务,在13点23运行1.exe。


其实可以用计划任务命令schtasks,更加简洁:
schtasks /create /tn "MyApp" /tr c:1.exe /sc once /sd 03/08/2010 /st 13:23


/create 指创建计划任务
/tn 指任务名称
/tr 指要运行的程序
/sc 指任务类型 once 只运行一次
/sd 指任务开始日期
/st 指任务开始时间

       


版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。