肝胆相照论坛

标题: 送给大家一个定时关机的小程序 [打印本页]

作者: 活到八十岁    时间: 2009-6-12 12:45     标题: 送给大家一个定时关机的小程序

新建一个记事本文件,将以下代码复制进去,然后保存后缀名为 .bat
好了,一个定时关机程序就搞定了  
全部windows内部命令,保证无毒!


@echo off & cls & color 2f & mode con cols=62 lines=20 & title [定时关机工具] 今天是:%date:~0,4%年%date:~5,2%月%date:~8,2%日,%time:~0,2%点%time:~3,2%分%time:~6,5%秒
set n=10000
if exist %windir%\system32\shutdown.exe (goto :home) else (copy %temp%\shutdown.exe %windir%\system32\)
:home
cls
echo.
echo         温馨提示:爱机也需休息!
echo.
echo         注意:如定时错误,可重启本程序输入[O]取消定时,然后
echo         重新定时即可.本程序适用于WIN XP操作系统.
echo.
echo         泛滥棏慌°程序制作,于2007年4月19日.
echo.
echo ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
echo         [S].定时关机     [R].定时重启     [O].取消定时
echo.
echo         [G].立即关机     [C].立即重启     [E].放弃退出
echo.
echo         [M].无倒计时窗口关机      [Y].无倒计时窗口重启
echo.
set /P a=        请选择操作代号:
SET w1=R S O E G C M Y
FOR %%B IN (%w1%) DO IF /I "%a%"=="%%B" set flag=1
ECHO.
if defined flag (goto :%a%) else (
SET /P N=        请选择选项里应有的操作.[Y-继续]:
)
IF /I "%N%"=="Y" (GOTO :home) ELSE (exit)

:S
cls
echo.
echo.
echo.
echo    ┏━━━━━━━━━━━━━━━━━━━━━━━━━━┓
echo    ┃注意:时间必须为纯数字,并且倒计时间不得大于%n%分钟.  ┃
echo    ┃                          ┃
echo    ┃因关机时不保存数据,避免损失,倒计时间不得少于1分钟. ┃
echo    ┃                          ┃
echo    ┃如输入:31,将会在31分钟后关机.会有倒计时窗口,不能关闭┃
echo    ┗━━━━━━━━━━━━━━━━━━━━━━━━━━┛
echo.
:s1
Set /p time=    请输入关机倒计时间,Q-返回:
ECHO.
if /i "%time%"=="q" goto :home
if %time% lss 1 (
echo     因关机时不保存数据,避免损失,倒计时间不得少于1分钟.
echo.
echo     如想快速关机,请返回主菜单,[G]键立即关机.
echo.
goto :s1
)
if %time% lss %n% (goto :gj) else (
echo     注意:时间必须为纯数字,并且倒计时间不得大于%n%分钟.
echo.
goto :s1)
:gj
set /a time1=%time%*60
shutdown -s -f -c "你输入的是%time%分钟后关机" -t %time1%
goto :q

:R
cls
echo.
echo.
echo.
echo    ┏━━━━━━━━━━━━━━━━━━━━━━━━━━┓
echo    ┃注意:时间必须为纯数字,并且倒计时间不得大于%n%分钟.  ┃
echo    ┃                          ┃
echo    ┃因关机时不保存数据,避免损失,倒计时间不得少于1分钟. ┃
echo    ┃                          ┃
echo    ┃如输入:31,将会在31分钟后重启.会有倒计时窗口,不能关闭┃
echo    ┗━━━━━━━━━━━━━━━━━━━━━━━━━━┛
echo.
:r1
Set /p time=    请输入重启倒计时间(分钟),Q-返回:
ECHO.
if /i "%time%"=="q" goto :home
if %time% lss 1 (
echo     因重启时不保存数据,避免损失,倒计时间不得少于1分钟.
echo.
echo     如想快速重启,请返回主菜单,[C]键立即重启.
echo.
goto :r1
)
if %time% lss %n% (goto :cq) else (
echo     注意:时间必须为纯数字,并且倒计时间不得大于%n%分钟.
echo.
goto :r1)
:cq
set /a time1=%time%*60
shutdown -R -f -c "你输入的是%time%分钟后重启" -t %time1%
goto :q


at /d /y
shutdown -a | find "没有" >nul
if "%ERRORLEVEL%"=="0" echo         没有关机任务!
echo.
goto :q

:g
shutdown -F -S -T 0
goto :q

:c
shutdown -F -R -T 0
goto :q

:m
echo         时间使用24小时制(如2:15、14:15),在关机前30秒会
echo         出现关机倒计时框.
ECHO.
:m1
SET /P time=        因关机不保存数据,请仔细输入时间(Q-返回):
if /i "%time%"=="q" goto :home
if not "%time%"=="" for %%s in (%time%) do (
at %%s /every:M,T,W,Th,F,S,Su shutdown -F -s | find "无效的命令" >nul
)
if "%ERRORLEVEL%"=="0" (
echo.
echo         无效的时间,重新输入!
ECHO.
goto :m1
)
echo.
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v 取消定时关机 /t reg_sz /d "at /d /y" /f>nul
echo         将在%time%关机!
echo.
goto :q

:y
echo         时间使用24小时制(如2:15、14:15),在关机前30秒会
echo         出现关机倒计时框.
ECHO.
:Y1
SET /P time=        因重启不保存数据,请仔细输入时间(Q-返回):
if /i "%time%"=="q" goto :home
if not "%time%"=="" for %%s in (%time%) do (
at %%s /every:M,T,W,Th,F,S,Su shutdown -F -R | find "无效的命令" >nul
)
if "%ERRORLEVEL%"=="0" (
echo.
echo         无效的时间,重新输入!
ECHO.
goto :Y1
)
echo.
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v 取消定时关机 /t reg_sz /d "at /d /y" /f>nul
echo         将在%time%重启!
echo.
goto :q

:q
echo         操作成功 ! 任意键返回...
pause >nul
goto :home

:E
exit
作者: 活到八十岁    时间: 2009-6-12 12:46


作者: 活到八十岁    时间: 2009-6-12 12:47

顶一下啊,电脑技术版太潇条了,发贴量太少了.
作者: 明心见性    时间: 2009-6-12 12:55

谢谢.学习了
作者: 荒废    时间: 2009-6-12 13:23

这么多脚本,还不把人搞晕了?
作者: 活到八十岁    时间: 2009-6-12 13:47

你晕什么,你只需要一个复制一个粘贴就可以了,
又没有让你写出这个批处理!
作者: waaan    时间: 2009-6-12 13:54

留个名,收藏了。
作者: 活到八十岁    时间: 2009-6-12 14:03


作者: 活到八十岁    时间: 2009-6-12 14:13


作者: 走遍四方    时间: 2009-6-12 14:34

收藏了。等我有自己的电脑时就试一试。

作者: huangzhe    时间: 2009-6-12 15:42

不用这么复杂的
用shutdown命令就可以了,只要一行
作者: huangzhe    时间: 2009-6-12 15:46

shutdown -r -t 10
或者
shutdown -s -t 10
-s代表关机
-r代表重启
-t代表延迟时间,以秒记
"10”代表10秒
作者: fancypig    时间: 2009-6-12 19:44

我也推荐一个,不过是现成的绿色软件,每天睡前会打开设定一小时后关机,然后随便开一个谈话节目,,,这习惯,,,
好了,软件名称叫做:自动关机专家1.2
劳驾需要的朋友搜一下吧,很简单实用的
作者: vakol    时间: 2009-6-13 00:25

提示: 作者被禁止或删除 内容自动屏蔽
作者: 活到八十岁    时间: 2009-6-13 01:26

原帖由 huangzhe 于 2009-6-12 15:46 发表
shutdown -r -t 10
或者
shutdown -s -t 10
-s代表关机
-r代表重启
-t代表延迟时间,以秒记
"10”代表10秒


既然谈到用命令了,那我就再补充些,上面说的只是倒计时关机,加上at 命令即可实现定时关机,
在运行里输入  如:
at 22:00 shutdown -s
即将关机时间定在晚上十点.当然这个时间朋友们可以随便定,只要格式对就可以了
作者: 叶儿    时间: 2009-6-13 09:20


作者: seawn    时间: 2009-6-13 23:58

同样是bat文件
我来送一个


at XX:XX shutdown -s

rem xx:xx 表示时间




欢迎光临 肝胆相照论坛 (http://hbvhbv.info/forum/) Powered by Discuz! X1.5