定时关机/倒计时关机批处理代码

blooktool昨天晚上,想把我的机器设置成每天早上自动开机,晚上自动关机,就把以前写的批处理代码找出来了,可以直接运行,直接实现定时、倒计时、重启等操作,大家把代码复制到记事本,之后存储成.bat批处理文件格式,就可以运行了。代码如下:

1.定时关机
2. 倒计时关机
3. 删除定时关机任务
4. 查看任务状态
5. 刷新当前时间
6. 重新启动
7. 锁定计算机
8. 注销

@ECHO off
title 菠萝工具箱 -实现定时关机、注销、重启、锁定等功能。

: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

:restart
shutdown -r -t 0

:lock
rundll32.exe user32.dll,LockWorkStation
goto start

:logoff
logoff

:end
exit

菠萝写的批处理文件很小,并且是绿色的,一次设置,每天有效,原理其实很简单,就是利用批处理给系统添加任务计划。如果不想复制代码,也可以直接下载批处理文件 blooktool.bat

落花生

认准了方向,就要勇敢地走下去,十年磨一剑,我相信,只要坚持,一切都有可能。

相关日志

  1. 2011.09.21

    朱镕基骂社会 一骂一个准

    文章转自吴达的一篇文章《朱镕基骂过谁?》,感…

  2. 没有图片

    2010.11.03

    腾讯出狠招了,让用户作出决择

    今晚刚上QQ,就弹出消息,一看真吓我一跳,腾…

  3. 没有图片

    2010.04.23

    2010年高考答案你买得起吗?

    2010年高考就要到了,在这高考前的1个月时…

  4. 没有图片

    2010.10.14

    大难不死与感动 写在智利矿工被救之际

    今天,开车上班,习惯性地打开收音机,第一个听…

  5. 没有图片

    2012.06.27

    太原工业学院2012吴院长讲话,送给刚毕业的同学们!

    吴院长的讲话,我不再作评价,再多的评价不如自…

  6. 没有图片

    2015.10.19

    2015世界最佳小小说:私奔

    父亲发现15岁的女儿不在家,留下一封信,上面…

评论

  1. 荒野无灯 2009.11.14 9:05上午

    收下啦

  2. 菠萝 2009.11.07 4:26下午

    @newcoin
    我的Windows 7 都用得很好,Vista 当然也可以用。

  3. newcoin 2009.11.07 11:01上午

    不知道vista下有没有方法可以试试?

  4. 疾风 2009.11.04 10:32下午

    好东西 有用 呵呵~·

  5. 菠萝 2009.11.02 6:17下午

    @bolo
    很多小软件都带木马,不放心,自己写的代码放心,也好用。

    @随影
    是啊,自己写的用着感觉不一样。

  6. 随影 2009.11.02 2:49下午

    批处理 就是这点好 方便实用!

  7. bolo 2009.11.01 10:15上午

    不是有很多这个类型的小软件嘛

  8. 菠萝 2009.10.31 10:09下午

    @望水
    RSS我没用插件啊!如果说的是右上角的这个,那就是FeedBurner的一个功能,你进Google的FeedBurner就知道了。

  9. 望水 2009.10.31 7:44下午

    对了,你的那个RSS是用的什么插件啊!!!我第一次用wordpress,不是太了解!!!

  10. 望水 2009.10.31 7:41下午

    不错哦!!!没想到你也会批处理啊!!!哈哈。。我以前也做了个批处理的定时关机小程序。。。而且会说话的哦!

  11. 小y 2009.10.30 10:38下午

    为了保护视力,我要copy一份。。。而且对我来说也挺有用。。我终于可以关机了。。

  12. mimzyx 2009.10.30 10:32下午

    万戈 :
    我用过,会被瑞星当成危险代码杀掉的

    卡巴呢?

  13. 不死鸟 2009.10.30 10:06下午

    为了减肥,少呆在电脑旁,要copy一份

  14. zwwooooo 2009.10.30 9:58下午

    经常要自动关机的就很方便

  15. 我心疯狂 2009.10.30 8:32下午

    貌似控制面板,有这功能的,无需写这些

  16. 菠萝 2009.10.30 4:36下午

    @胡一刀
    哈哈,强悍啊!

  17. 胡一刀 2009.10.30 2:54下午

    我是直接拔插头的暴力男!

  18. 菠萝 2009.10.30 2:52下午

    @MuMu’S
    系统可以设置的,不过稍微麻烦一点,除了要做关机命令之外,还要做任务计划!

  19. 超人 2009.10.30 1:38下午

    呵呵. 关机直接 at 时间 shutdown

  20. 先看看 2009.10.30 1:33下午

    这个有点强大了。

  21. MuMu’S 2009.10.30 1:12下午

    系统不能设置???

  22. keon 2009.10.30 11:42上午

    批处理是个好东西~~

  23. 一米 2009.10.30 11:38上午

    恩,对我来说没什么用,但还是顶顶。

  24. 菠萝 2009.10.30 11:37上午

    @万戈
    这个代码我写了多少年了,好像没有人反映会被杀。这只是纯净的批处理代码。当成病毒的话,那是杀毒软件太笨了!

  25. 万戈 2009.10.30 11:15上午

    我用过,会被瑞星当成危险代码杀掉的

About

马拉松运动员,沉迷于跑步;关注科技前沿,关注互联网!与跑者、程序员、设计师为伍,一起跑步健身,一起编写程序,为自由而战!