shutdown命令定时关机全攻略

2024-05-12 04:08

本文主要是介绍shutdown命令定时关机全攻略,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

用系统自带指令实现 Windows XP/2003 定时自动关机,基本命令在WIN7下同样有效,但有部分命令在WIN7下无效!

今天有人问到如何实现定时自动关机,给出了用at和shutdown指令实现的方法,我自己常用的是PowerOff软件来实现,试了下at

指令,发现还是挺方便的。

     先说下系统自带的关机指令,很多人应该已经知道了,就是shutdown,不带参数执行将会列出它的参数,常用参数为:

-s           关闭计算机

-r           关闭并重启动计算机

-f           强制正在运行的应用程序关闭而不事先警告用户

-t xxx     设置关闭前的超时为 xxx 秒,默认为 30

另外,在倒计时过程输入shutdown /a可以取消关机或重启,不加/t参数执行则倒计时30秒。

一般需要立即关机可以这样写:(将/s参数换成/r参数就是立即重启)

shutdown -f -s -t 0

shutdown支持对远程计算机进行操作,需要使用-m参数,如:

shutdown -f -s -m \\\\test

在30秒后强制将局域网中名为test的计算机关闭

再说下at指令,它的作用是计划在指定时间和日期在计算机上运行命令和程序。在命令行下输入at /?将列出它的帮助信息,在“

帮助和支持中心”里有更详细的解释及示例。

假设想实现晚上23:30自动关机,可以这么写:

at 23:30 shutdown -f -s -t 0

成功的话会有类似这样的信息回应:新加了一项作业,其作业 ID = 1

要取消这个定时关机的话,有两种方法

方法一、命令行

不带任何参数执行at,将会列出已经设定的内容,记下状态ID号,比如本例为1,然后输入:

at 1 /delete

也可以简写为:

at 1 /d

不加序列号使用/d参数将会删除所有设定的内容,如果想不经确认删除所有设定的内容,可用:at /d /y

方法二、任务计划

用at指令设定的定时执行指令可在“控制面板”的“任务计划”中看到,要取消的话删除就行了。

如果你只是临时用用,比如只是当天需要定时自动关机,用上述指令就行了。如果需要在一个月中的某几天或每周一甚至是每天执

行,就需要再加点参数,仍然举例说明。

例1、每月的1、5、10、15、20号的0点自动关机

at 00:00 /every:1,5,10,15,20 shutdown -f -s -t 0

例2:每周一的23:00自动关机

at 23:00 /every:Monday shutdown /f /s /t 0

例3:每天22:00自动关机

at 22:00 /every:Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday shutdown -f -s -t 0

即使用every参数,例3中的每天自动关机可以简写为:

at 22:00 /every:Su,M,T,W,Th,F,Sa shutdown -f -s -t 0

最后解释一下本贴标题为何要注明XP/2003,Windows 2000是不自带shutdown指令的(当然从XP/2003系统里复制一个过去也能

用),我的机器上也没装Windows 2000,不知道在2000里是否自带at指令。

另,用at指令而不是在任务计划里添加是因为用at指令添加的任务是以系统最高的SYSTEM权限来执行的,不登录也会生效,而在

任务计划里添加的任务需要指定管理员帐号密码才能做到不登录也生效,at指令还能用\\\\computername指定在局域网里的其它

计算机上建立自动执行的任务计划,当然前提条件是你有对方机器的管理员帐号和密码。

补充二点:

1、用以上命令,并命令执行时,系统进入关机倒计时。这时,如果正在工作,不需要关机,那马上在倒计时设置时间内运行

“shutdown.exe -a”中止关机命令。也可以建立一个这个命令的快捷方式在桌面上,方便使用。

2、拷贝Shutdown.exe到2000系统下AT命令完全可以使用,包括Win2000、Win2000Server。  

用at配合shutdown命令非常方便。

比如要在晚上22:00关机,可以使用at 22:00 shutdown -s -f

附ShutDown用法及参数

用法: shutdown [-i | -l | -s | -r | -a] [-f] [-m \computername] [-t xx] [-c 'comment'] [-d up:xx:yy]

没有参数 显示此消息(与 ? 相同)

-i 显示 GUI 界面,必须是第一个选项

-l 注销(不能与选项 -m 一起使用)

-s 关闭此计算机

-r 关闭并重启动此计算机

-a 放弃系统关机

-m \computername 远程计算机关机/重启动/放弃

-t xx 设置关闭的超时为 xx 秒

-c 'comment' 关闭注释(最大 127 个字符)

-f 强制运行的应用程序关闭而没有警告

-d [p]:xx:yy 关闭原因代码

u 是用户代码

p 是一个计划的关闭代码

xx 是一个主要原因代码(小于 256 的正整数)

yy 是一个次要原因代码(小于 65536 的正整数)

-f:强行关闭应用程序

-m \计算机名:控制远程计算机

-i:显示图形用户界面,但必须是Shutdown的第一个选项

-l:注销当前用户

-r:关机并重启

-t时间:设置关机倒计时

-c '消息内容':输入关机对话框中的消息内容(不能超127个字符

2、举例:

关闭计算机 shutdown –s (方法:”开始”->”运行”->”shutdown -s”->”确定”)

延迟3秒关闭计算机 shutdown –s –t 3(方法:”开始”->”运行”->”shutdown –s –t 3”->”确定”)

取消关闭计算机 shutdown –a (方法:”开始”->”运行”->”shutdown –a”->”确定”)

3、应用:

(1)您如果想在1小时后自动关闭计算机,比如:您正在下载一个软件或一部电影,而您有急事要去丽水,您会怎么办?停止下载

?太可惜了!继续?下载完后电脑怎么关闭?不用愁!您可以使用该命令解决:

shutdown –s –t 3600 (系统在3600秒后关闭计算机,时间自定)

您就放心地去丽水了,而不用担心您的计算机长期开着了。

(2)出现RPC漏洞而导致倒计时自动关机,使用该命令取消倒计时自动关机:

shutdown –a (方法:”开始”->”运行”->”shutdown –a”->”确定”)

前一段时间的网络病毒非常猖獗,如震荡波、冲击波等就是针对WindowsXP的RPC(远程过程调用)漏洞设计的,它导致系统倒计时

自动关机,很多同学、老师头痛不已。如下图:

(3)利用Shutdown命令 实现网络统一关机

笔者所在单位下班后常有很多老师不关电脑,领导发现后要求解决这个问题。我想如果到各办公室去查看,这很费时,于是就想能

否通过一台电脑把所有的机 器都关掉。因为所有的办公用机安装的都是Windows XP系统,就想到了使用远程关机“Shutdown”

命令。具体方法如下:

步骤1 单击“开始→运行”,在对话框中输入“Gpedit.msc”,单击[确定],打开“组策略编辑器”。

步骤2 在“组策略编辑器”窗口的左边打开“计算机配置→Windows设置→安全设置→本地策略→用户权利指派”,在右边的窗口

选择“从远端系统强制关机”。在 弹出的对话框中显示目前只有“Administrators”组的成员才有权远程关机;单击对话框下

方的[添加用户或组]按钮,然后在弹出的对话框中输入 “Heyongsheng”(管理员账号),再单击[确定]。

步骤3 这时在“从远端系统强制关机”的属性中便添加了一个“Heyongsheng”用户,单击[确定],最后关闭“组策略编辑器”

窗口。

对各办公室的电脑进行上述操作后,我们便给每台计算机的“Heyongsheng”用户授予了远程关机的权限。到下班时,我只要在自

己的机器上进行以下操作:

步骤4单击“开始→运行”,在对话框中输入“Shutdown -I”,屏幕上将显示“远程关机”对话框(图1)。

图1 远程关机控制窗口

(4)用XP的ShutDown.exe实现服务器定时重启

Windows XP的关机是由Shutdown.exe程序来控制的,位于WindowsSystem32文件夹中。如果想让Windows 2000也实现同样的效

果,可以把Shutdown.exe复制到系统目录System32下。

首 先当然要求主板必须支持软件关机功能,否则你还得亲自去按电源开关才能关机,现在的主板一般都支持软件关机。操作步骤

:单击“开始”/程序/附件/系统工 具中'计划任务',弹出计划任务窗口,然后双击'添加已计划的任务',运行“计划任务向导

”,按“浏览”,找到WINDOWS目录中的 Rundll32.exe 文件,单击'打开'按钮,在出现的对话框中键入该任务的名字(如'定时

关机'),执行方式选择“每天” ,然后按“下一步”选择定时关机时间(可以先试一下比现在机器上显示的时间晚1分钟),下一

步选中“当单击完成打开该任务的高级属性”,单击'完成',最 后右击'定时关机'来打开属性,在运行栏输入

“C:WINNTsystem32shutdown.exe -r -t 1”,单击'确定'不久,OK了。

4.结论:WindowsXP中的shutdown命令功能很强大,你可以去尝试使用,挖掘出功能,为我们服务。创建个快截方式 地址里输入

shutdown -t -s 3600

然后把他复制到 开始 程序 启动里

或者 在 注册表的 run 项目下 加入 这个快截方式的 地址

你也可以放在boot.inf里的lood 语句中

还可以用批 处理

vbs 文件

用vbs文件的好处是可以后台运行控制时间不向你的破语句

输入shutdown -a

第二部分

让Windows 2000/XP自动关机

Windows XP的关机是由Shutdown.exe程序来控制的,位于Windows\System32文件夹中。如

果想让Windows 2000也实现同样的效果,可以把Shutdown.exe复制到系统目录下。

比如你的电脑要在22:00关机,可以选择“开始→运行”,输入“at 22:00 Shutdown -s”,

这样,到了22点电脑就会出现“系统关机”对话框,默认有30秒钟的倒计时并提示你保存工

作。如果你想以倒计时的方式关机,可以输入“Shutdown.exe -s -t 3600”,这里表示60

分钟后自动关机,“3600”代表60分钟。

设置好自动关机后,如果想取消的话,可以在运行中输入“shutdown -a”。另外输入

“shutdown -i”,则可以打开设置自动关机对话框,对自动关机进行设置。

Shutdown.exe的参数,每个都具有特定的用途,执行每一个都会产生不同的效果,比如

“-s”就表示关闭本地计算机,“-a”表示取消关机操作,下面列出了更多参数,大家

可以在Shutdown.exe中按需使用。

-f:强行关闭应用程序

-m \\计算机名:控制远程计算机

-i:显示图形用户界面,但必须是Shutdown的第一个选项

-l:注销当前用户

-r:关机并重启

-t 时间:设置关机倒计时

-c '消息内容':输入关机对话框中的消息内容(不能超127个字符)

有时候,我们需要定时关闭计算机,下面介绍一个在Windows XP下实现定时关机的简单方

法。

指定系统在22分钟后自动关闭:点击“开始→运行”,在“打开”中输入命令“Shutdown

-s -t 1320”(注意:引号不输入,参数之间有空格,1320的单位是秒),单击“确定”

按钮即可。

指定系统在某个时间(比如12:00)自动关闭:在“打开”中输入命令

“at 12:00 Shutdown -s”即可。

取消定时关机:在“打开”中输入命令“Shutdown -a”即可。

能的实现都是使用“Shutdown”命令实现的,shutdown的参数是在命令行窗口中输入

“shutdown”。笔者认为最有用的是“-i”参数,可以调出“远程关机对话框”,

能方便地实现局域网内计算机的远程关机,有兴趣的朋友可以试一试。

开始-程序-附件-系统工具-计划任务-添加任务计划-下一步-浏览

-c:\windows\system32\shadow.exe-下一步-选好要关机的时间,

下一步-输入用户名和密码,只要是系统里有的用户就行,但一定要有密码,

没有也要设一个,下一步,选上“在完成时打开此任务的高级属性”,

在运行栏后面加上“ -S”引号不要哦。

1,先确认任务计划服务已启动:打开“控制面板”>“管理工具”>“服务”,

找到“Task Scheduler”,确认其启动类型为“自动”,服务状态为“已启动”。

2,生成任务:点“开始”菜单>“运行”,输入如下命令:

引用内容

at 6:30 /every:m,t,w,th,f,s,su shutdown -s

这样一个关机任务就在生成了,可以到“控制面板”>“任务计划”查看,通常任务名称为

“At1”。其含义为在每天的6点30分关闭计算机。更多 at 命令的使用方法可以参阅

enet.com.cn 的关于 at 命令的专门文章。也可以在 DOS 窗口输入 at/? 查看帮助,

用到的 shutdown 命令也同样通过 shutdown/? 可以了解更多的设置方法。

3,关机时会有提示窗出现,如果想取消关闭操作可以在“开始”菜单>“运行”,

输入命令:shutdown -a

参考资料

第三部分

在WindowsXP中实现远程关机

在Windows XP中,新增了一条命令行工具“shutdown”,其作用是“关闭或重新启动本地或远程计算机”。利用它,我们不但可

以注销用户,关闭或重新启动计算机,还可以实现定时关机、远程关机。

该命令的语法格式如下:

shutdown [-i |-l|-s |-r |-a] [-f] [-m [\\ComputerName]] [-t xx] [-c 'message'] [-d[p]:xx:yy]

其中,各参数的含义为:

-i 显示图形界面的对话框。

-l 注销当前用户,这是默认设置。

-m ComputerName优先。

-s 关闭计算机。

-r 关闭之后重新启动。

-a 中止关闭。除了-l 和ComputerName 外,系统将忽略其它参数。在超时期间,您只可以使用-a。

-f 强制运行要关闭的应用程序。

-m [\\ComputerName] 指定要关闭的计算机。

-t xx 将用于系统关闭的定时器设置为 xx 秒。默认值是20秒。

-c 'message' 指定将在“系统关闭”窗口中的“消息”区域显示的消息。最多可以使用127 个字符。引号中必须包含消息。

-d [p]:xx:yy 列出系统关闭的原因代码。

首先,我们来看一下该命令的一些基本用法:

1、注销当前用户

shutdown - l

该命令只能注销本机用户,对远程计算机不适用。

2、关闭本地计算机

shutdown - s

3、重启本地计算机

shutdown - r

4、定时关机

shutdown - s -t 30

指定在30秒之后自动关闭计算机。

5、中止计算机的关闭

有时我们设定了计算机定时关机后,如果出于某种原因又想取消这次关机操作,就可以用 shutdown - a 来中止。如:

shutdown -s –t 300 设定计算机在5分钟后关闭。

Shutdown –a 取消上述关机操作。

以上是shutdown命令在本机中的一些基本应用。前面我们已经介绍过,该命令除了关闭、重启本地计算机外,更重要的是它还能

对远程计算机进行操作,但是如何才能实现呢?

在该命令的格式中,有一个参数[-m [\\ComputerName],用它可以指定将要关闭或重启的计算机名称,省略的话则默认为对本机

操作。您可以用以下命令来试一下:

shutdown –s –m \\sunbird -t 30

在30秒内关闭计算机名为sunbird的机器;注:sunbird为局域网内一台同样装有Windows XP的电脑。

但该命令执行后,计算机sunbird一点反应都没有,但屏幕上却提示“Access is denied (拒绝访问)”。

为什么会出现这种情况呢?原来在Windows XP默认的安全策略中,只有管理员组的用户才有权从远端关闭计算机,而一般情况下

我们从局域网内的其他电脑来访问该计算机时,则只有guest用户权限,所以当我们执行上述命令时,便会出现“拒绝访问”的情

况。

找到了问题的根源之后,解决的办法也很简单,您只要在客户计算机(能够被远程关闭的计算机,如上述的sunbird)中赋予

guest用户远程关机的权限即可。这可利用Windows XP的“组策略”或“管理工具”中的“本地安全策略”来实现。下面以“组

策略”为例进行介绍:

1、单击“开始”按钮,选择“运行”,在对话框中输入“gpedit.msc”,然后单击“确定”,即可打开组策略编辑器。

2、在“组策略”窗口的左侧窗格中逐级展开“计算机配置”→“Windows 设置”→“安全设置”→“本地策略”→“用户权利指

派”。

3、在“组策略”窗口的右侧窗格中选择“从远端系统强制关机”,通过双击将其打开。

4、在弹出的对话框中显示目前只有“Administrators”组的成员才有权从远程关机;单击对话框下方的“添加用户或组”按钮

,然后在新弹出的对话框中输入“guest”,再单击“确定”按扭。如图9所示。

5、这时在“从远端系统强制关机”的属性中便添加了一个“guest”用户,单击“确定”即可。

6、关闭“组策略”窗口。

通过上述操作后,我们便给计算机sunbird的guest用户授予了远程关机的权限。以后,倘若您要远程关闭计算机sunbird,只要

在网络中其他装有Windows XP的计算机中输入以下命令即可:

shutdown -s –m \\sunbird -t 30 (其他参数用法同上)

这时,在sunbird计算机的屏幕上将显示一个“系统关机”的对话框,提示“系统即将关机。请保存所有正在运行的工作,然后注

销。未保存的改动将会丢失。关机是由sunbird\guest初始的。”在对话框下方还有一个计时器,显示离关机还有多少时间。在等

待关机的时间里,用户还可以执行其他的任务,如关闭程序、打开文件等,但

这篇关于shutdown命令定时关机全攻略的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/981560

相关文章

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资

Redis的Hash类型及相关命令小结

《Redis的Hash类型及相关命令小结》edisHash是一种数据结构,用于存储字段和值的映射关系,本文就来介绍一下Redis的Hash类型及相关命令小结,具有一定的参考价值,感兴趣的可以了解一下... 目录HSETHGETHEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSET

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不

PHP执行php.exe -v命令报错的解决方案

《PHP执行php.exe-v命令报错的解决方案》:本文主要介绍PHP执行php.exe-v命令报错的解决方案,文中通过图文讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录执行phpandroid.exe -v命令报错解决方案执行php.exe -v命令报错-PHP War

CentOS系统使用yum命令报错问题及解决

《CentOS系统使用yum命令报错问题及解决》文章主要讲述了在CentOS系统中使用yum命令时遇到的错误,并提供了个人解决方法,希望对大家有所帮助,并鼓励大家支持脚本之家... 目录Centos系统使用yum命令报错找到文件替换源文件为总结CentOS系统使用yum命令报错http://www.cppc

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作