找回密码
 立即注册
搜索
查看: 558|回复: 31

[半原创]用系统自带指令实现 Windows XP/2003 定时自动关机

[复制链接]

86

主题

2142

回帖

3152

积分

荣誉版主

积分
3152
发表于 2005-12-2 21:17:32 | 显示全部楼层 |阅读模式
今天在海浩的QQ群里聊的时候,有人问到如何实现定时自动关机,E版给出了用at和shutdown指令实现的方法,我自己常用的是PowerOff软件来实现,试了下at指令,发现还是挺方便的。

先说下系统自带的关机指令,很多人应该已经知道了,就是shutdown,不带参数执行将会列出它的参数,常用参数为:
/s         关闭计算机
/r         关闭并重启动计算机
/f         强制正在运行的应用程序关闭而不事先警告用户
/t xxx   设置关闭前的超时为 xxx 秒。
           有效范围是 0-600,默认为 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指定在局域网里的其它计算机上建立自动执行的任务计划,当然前提条件是你有对方机器的管理员帐号和密码。

1546

主题

1万

回帖

1万

积分

管理员

积分
17169
发表于 2005-12-2 22:18:26 | 显示全部楼层
有心了,整理的真不错。我只是给了个命令行,应该算是S版的原创啦。

补充二点:
1、用以上命令,并命令执行时,系统进入关机倒计时。这时,如果正在工作,不需要关机,那马上在倒计时设置时间内运行“shutdown.exe -a”中止关机命令。也可以建立一个这个命令的快捷方式在桌面上,方便使用。
2、拷贝Shutdown.exe到2000系统下AT命令完全可以使用,包括Win2000、Win2000Server。

[ 本帖最后由 excel 于 2005-12-2 22:27 编辑 ]
回复

使用道具 举报

5

主题

341

回帖

468

积分

中级会员

积分
468
发表于 2005-12-3 01:48:04 | 显示全部楼层
很实用,我本人就经常使用的。
shutdown -a在当初碰上冲击波的时候也很有用
回复

使用道具 举报

67

主题

1181

回帖

1653

积分

金牌会员

积分
1653
发表于 2005-12-3 03:21:52 | 显示全部楼层
收藏起来备用.
回复

使用道具 举报

80

主题

1553

回帖

2182

积分

论坛元老

积分
2182
发表于 2005-12-3 04:28:35 | 显示全部楼层
这个稿子有分量,保存了。
回复

使用道具 举报

58

主题

584

回帖

851

积分

金牌会员

积分
851
发表于 2005-12-3 08:13:57 | 显示全部楼层
还有个 shutdown /i 参数,以图形界面来设定。
回复

使用道具 举报

28

主题

221

回帖

279

积分

海星

积分
279
发表于 2005-12-3 09:19:15 | 显示全部楼层
不错,收藏一下
回复

使用道具 举报

3

主题

18

回帖

27

积分

新手上路

积分
27
发表于 2005-12-3 09:43:38 | 显示全部楼层
建议 softworm  斑竹搞一个windows命令专集。Windows 2000里有自带at指令。

[ 本帖最后由 ysyt 于 2005-12-3 09:56 编辑 ]
回复

使用道具 举报

156

主题

3678

回帖

5155

积分

网站编辑

积分
5155
发表于 2005-12-3 16:51:50 | 显示全部楼层
这个不错,。多谢。。学习一下。。
回复

使用道具 举报

255

主题

1437

回帖

2253

积分

论坛元老

积分
2253
发表于 2005-12-3 18:08:42 | 显示全部楼层
收藏了,谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|海浩社区

GMT+8, 2025-9-18 06:11 , Processed in 0.087518 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表