定时关机.bat
打开附件中的记事本,然后在里边写入,at 22:00 shutdown -s -f,保存,然后将文件后缀名修改为BAT。将这个文件拖动到“开始→程序→启动”中,或者放入C:\Documents and Settings\用户名\「开始」菜单\程序\启动        这样每次开机该文件都将被执行,其具体含义是,at 22:00在每天晚上十点,shutdown -s -f关机且关闭所有未响应程序。  22.00这个数字就可以随便修改的
其实用一个简单的命令也可以实现定时关机,比如要让电脑在23:00自动关机,只要在运行中输入
at 23:00 shutdown -s -f -t 3
即可实现定时关机
@ECHO off
TITLE greaterthanme-实现定时关机、注销、重启、锁定等功能。
:start
CLS
COLOR 1f
rem 使用COLOR命令对控制台输出颜进行更改
MODE con: COLS=41 LINES=18
rem MODE语句为设定窗体的宽和高
set tm1=%time:~0,2%
set tm2=%time:~3,2%
set tm3=%time:~6,2%
ECHO %date% %tm1%点%tm2%分%tm3%秒
ECHO =========================================
ECHO 请选择要进行的操作,然后按回车
ECHO ───────────────
ECHO.
ECHO 1. 定时关机
ECHO 2. 倒计时关机
ECHO 3. 删除定时关机任务
ECHO 4. 查看任务状态
ECHO 5. 刷新当前时间
ECHO 6. 重新启动
ECHO 7. 锁定计算机
ECHO 8. 注销
ECHO 9. 退出
ECHO.
:
cho
SET Choice=
SET /P Choice=选择:
rem 设定变量"Choice"为用户输入的字符
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
rem 如果输入大于1位,取第1位,比如输入132,则返回值为1
ECHO.
IF /I "%Choice%"=="1" GOTO SetHour
IF /I "%Choice%"=="2" GOTO outtime
IF /I "%Choice%"=="3" GOTO delAt
IF /I "%Choice%"=="4" GOTO view
IF /I "%Choice%"=="5" GOTO start
IF /I "%Choice%"=="6" GOTO restart
IF /I "%Choice%"=="7" GOTO lock
IF /I "%Choice%"=="8" GOTO logoff
IF /I "%Choice%"=="9" GOTO end
rem 为避免出现返回值为空或含空格而导致程序异常,需在变量外另加双引号
rem 注意,IF语句需要双等于号
rem 如果输入的字符不是以上数字,将返回重新输入
ECHO 选择无效,请重新输入
ECHO.
GOTO cho
:
SetHour
CLS
ECHO.
SET ask=
SET /p ask=是否设定为每天执行关机命令(y/n):
IF NOT "%ask%"=="" SET ask=%ask:~0,1%
IF /I "%ask%"=="y" GOTO yes
IF /I "%ask%"=="n" GOTO no
GOTO SetHour
:yes
ECHO 请指定24小时制式时间,格式为 小时:分钟
SET shutdowntime=
SET /p shutdowntime=输入:
at %shutdowntime% /every:M,T,W,Th,F,S,Su tsshutdn 0 /delay:0 /powerdown >nul
rem 设定为每周的星期一至星期日,即为每天
IF NOT errorlevel 1 GOTO ok
rem 如果输入正确,就执行ok段的语句
ECHO %shutdowntime% 不是标准的时间格式,请重新输入
ECHO.
GOTO yes
:no
ECHO 请指定24小时制式时间,格式为 小时:分钟
SET shutdowntime=
SET /p shutdowntime=输入:
at %shutdowntime% tsshutdn
0 /delay:0 /powerdown >nul
IF NOT errorlevel 1 GOTO ok
ECHO %shutdowntime% 不是标准的时间格式,请重新输入
ECHO.
GOTO no
:ok
ECHO.
SET h=%shutdowntime:~1,1%
SET ah=%shutdowntime:~0,1%
SET am=%shutdowntime:~2,2%
SET bh=%shutdowntime:~0,2%
SET bm=%shutdowntime:~3,2%
IF "%h%"==":" (
SET HM=%ah%时%am%分
) ELSE (
SET HM=%bh%时%bm%分)
rem 如果输入h:mm则HM=h时mm分,否则HM=hh时mm分
IF /I "%ask%"=="y" ECHO 系统将于每天的%HM%关闭
IF /I "%ask%"=="n" ECHO 系统将于%HM%关闭
ECHO 设定完毕! 按任意键继续...
PAUSE >nul
GOTO start
:outtime
CLS
ECHO.
ECHO 请输入倒计时秒数
ECHO ────────
ECHO (设定后要取消,单击"确定"后按Ctrl+C键两次)
SET timed=
SET /p timed=输入:
tsshutdn %timed% /delay:0 /powerdown >nul
IF not errorlevel 1 GOTO ok
ECHO %timed% 是无效的关机时间,请重新输入
ECHO.
GOTO outtime
:delAt
cls
echo.
at /del /y
echo 定时关机任务已取消,按任意键继续...
pause >nul
GOTO start
:view
MODE con: COLS=85 LINES=18
COLOR 70
ECHO.
at
ECHO 按任意键继续...
PAUSE >nul
GOTO start
GOTO start
shutdown -r -t 0
:
lock
< user32.dll,LockWorkStation
GOTO start
:logoff
logoff
:end
exit
此bat文件需要Task Scheduler服务支持,我知道肯定有人不喜欢开这服务。
毕竟鱼与熊掌不可兼得,用不用随你!ho ho 。。。。
如果用不了,可能是Terminal Services服务被禁用了,启用试试!
先运行下net start schedule,把计划任务的服务打开
把下面的代码复制到记事本另存为shutdown.bat即可实现定时关机!
@ECHO off
TITLE greaterthanme-实现定时关机、注销、重启、锁定等功能。
:start
CLS
COLOR 1f
rem 使用COLOR命令对控制台输出颜进行更改
MODE con: COLS=41 LINES=18
rem MODE语句为设定窗体的宽和高
set tm1=%time:~0,2%
set tm2=%time:~3,2%
set tm3=%time:~6,2%
ECHO %date% %tm1%点%tm2%分%tm3%秒
ECHO =========================================
ECHO 请选择要进行的操作,然后按回车
ECHO ———————————————
ECHO.
ECHO 1. 定时关机
ECHO 2. 倒计时关机
ECHO 3. 删除定时关机任务
ECHO 4. 查看任务状态
ECHO 5. 刷新当前时间
ECHO 6. 重新启动
ECHO 7. 锁定计算机
ECHO 8. 注销
ECHO 9. 退出
ECHO.
:cho
SET Choice=
SET /P Choice=选择:
rem 设定变量"Choice"为用户输入的字符
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
rem 如果输入大于1位,取第1位,比如输入132,则返回值为1
ECHO.
IF /I "%Choice%"=="1" GOTO SetHour
IF /I "%Choice%"=="2" GOTO outtime
IF /I "%Choice%"=="3" GOTO delAt
IF /I "%Choice%"=="4" GOTO view
IF /I "%Choice%"=="5" GOTO start
IF /I "%Choice%"=="6" GOTO restart
IF /I "%Choice%"=="7" GOTO lock
IF /I "%Choice%"=="8" GOTO logoff
IF /I "%Choi
ce%"=="9" GOTO end
rem 为避免出现返回值为空或含空格而导致程序异常,需在变量外另加双引号
rem 注意,IF语句需要双等于号
rem 如果输入的字符不是以上数字,将返回重新输入
ECHO 选择无效,请重新输入
ECHO.
GOTO cho
:SetHour
CLS
ECHO.
SET ask=
SET /p ask=是否设定为每天执行关机命令(y/n):
IF NOT "%ask%"=="" SET ask=%ask:~0,1%
IF /I "%ask%"=="y" GOTO yes
IF /I "%ask%"=="n" GOTO no
GOTO SetHour
:yes
ECHO 请指定24小时制式时间,格式为 小时:分钟
SET shutdowntime=
SET /p shutdowntime=输入:
at %shutdowntime% /every:M,T,W,Th,F,S,Su tsshutdn 0 /delay:0 /powerdown >nul
rem 设定为每周的星期一至星期日,即为每天
IF NOT errorlevel 1 GOTO ok
rem 如果输入正确,就执行ok段的语句
ECHO %shutdowntime% 不是标准的时间格式,请重新输入
ECHO.
GOTO yes
:no
ECHO 请指定24小时制式时间,格式为 小时:分钟
SET shutdowntime=
SET /p shutdowntime=输入:
at %shutdowntime% tsshutdn 0 /delay:0 /powerdown >nul
IF NOT errorlevel 1 GOTO ok
ECHO %shutdowntime% 不是标准的时间格式,请重新输入
ECHO.
GOTO no
:ok
ECHO.
SET h=%shutdowntime:~1,1%
SET ah=%shutdowntime:~0,1%
SET am=%shutdowntime:~2,2%
SET bh=%shutdowntime:~0,2%
SET bm=%shutdowntime:~3,2%
IF "%h%"==":" (
SET HM=%ah%时%am%分
)
ELSE (
SET HM=%bh%时%bm%分)
rem 如果输入h:mm则HM=h时mm分,否则HM=hh时mm分
IF /I "%ask%"=="y" ECHO 系统将于每天的%HM%关闭
IF /I "%ask%"=="n" ECHO 系统将于%HM%关闭
ECHO 设定完毕! 按任意键继续...
PAUSE >nul
GOTO start
:outtime
CLS
ECHO.
ECHO 请输入倒计时秒数
ECHO ————————
ECHO (设定后要取消,单击"确定"后按Ctrl+C键两次)
SET timed=
SET /p timed=输入:
tsshutdn %timed% /delay:0 /powerdown >nul
IF not errorlevel 1 GOTO ok
ECHO %timed% 是无效的关机时间,请重新输入
ECHO.
GOTO outtime
:delAt
cls
echo.
at /del /y
echo 定时关机任务已取消,按任意键继续...
pause >nul
关机程序代码
GOTO start
:view
MODE con: COLS=85 LINES=18
COLOR 70
ECHO.
at
ECHO 按任意键继续...
PAUSE >nul
GOTO start
:restart
shutdown -r -t 0
:lock
< user32.dll,LockWorkStation
goto start
:logoff
logoff
:end
exit
此bat文件需要Task Scheduler服务支持,有人可能不喜欢开这服务,毕竟鱼与熊掌不可兼得,呵呵。另外,如果你照上面方法还是用不了,那可能是Terminal Services服务被禁用了吧,启用试试!
其实用一个简单的命令也可以实现定时关机,比如要让电脑在23:00自动关机,只要在运行中输入
23:00
即可实现定时关机!
--------------------------------------------------------------------------
@echo off
at 22:50 every:M,T,W,Th,F,S,Su shutdown -s -t 60 -c "很晚了,该睡觉了了!"
at 13:50 every:M,T,W,Th,F,S,Su shutdown -s -t 60 -c "要停电了,快存盘吧!"
at 15:50 ev
ery:M,T,W,Th,F,S,Su shutdown -s -t 60 -c "要停电了,快存盘吧!"
at 9:50 every:M,T,W,Th,F,S,Su shutdown -s -t 60 -c "要停电了,快存盘吧!"
at 5:50 every:M,T,W,Th,F,S,Su shutdown -s -t 60 -c "要停电了,快存盘吧!"
echo 已经完成!
pause&end
shutdown命令定时关机全攻略(2000/XP/2003)
用系统自带指令实现 Windows XP/2003 定时自动关机
今天有人问到如何实现定时自动关机,给出了用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、用以上命令,并命令执行时,系统进入关机倒计时。这时,如果正在工作,不需要关机,那马上在倒计时设置时间内运行
“ -a”中止关机命令。也可以建立一个这个命令的快捷方式在桌面上,方便使用。
2、拷贝到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小时后自动关闭计算机,比如:您正在下载一个软件或一部电影,而您有急事要去丽水,您会怎么办?停止下载
?太可惜了!继续?下载完后电

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。