bat脚本,windown定时关机,取消定时关机,设置延长关机时间

经过几天的摸索和学习,不断的debug,终于做出了一个bat定时关机脚本,说真的,实属不易,因为bat所能使用的一些指令太少了,感觉真的很弱,但是没办法,只能转换思路,绕过这些没有的指令,不说了,直接上代码,也希望上面有一个python爬虫的源码,希望大家下载,算是给我的一点安慰吧,以后如果有好的脚本再做出来给大家一起用.

AutoShutdown.bat

  1. @echo off
  2. if "%1" == "h" goto begin
  3. mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
  4. :begin
  5. title Clock reminded
  6. mode con cols=60 lines=38
  7. color 0d
  8. set true="1"
  9. :start
  10. if "%time:~0,8%" equ "23:00:00" (
  11. shutdown -s -t 0
  12. echo.
  13. echo Good Bye!!!
  14. echo %date%
  15. pause>nul
  16. )
  17. if "%time:~0,8%" EQU "22:40:00" (
  18. call C:\Users\tang\Desktop\reminder.bat
  19. )
  20. if "%time:~0,8%" EQU "22:45:00" (
  21. call C:\Users\tang\Desktop\reminder.bat
  22. )
  23. if "%time:~0,8%" EQU "22:50:00" (
  24. call C:\Users\tang\Desktop\reminder.bat
  25. )
  26. if "%time:~0,8%" EQU "22:55:00" (
  27. call C:\Users\tang\Desktop\reminder.bat
  28. )
  29. if %true%=="1" goto start

这是主程序,我定时晚上11准时关机,每隔5分钟提醒一次,从晚上10:40分开始提醒,然后提醒的内容就是call的那部分,我分开来写,不然这部分的内容没办法跳出窗口来提示你

reminder.bat:

  1. @echo off
  2. if "%1" == "h" goto begin
  3. mshta vbscript:createobject("wscript.shell").run("%~nx0 h",5)(window.close)&&exit
  4. :begin
  5. mode con cols=40 lines=24
  6. color 0d
  7. set a=60
  8. set b=%time:~3,5%
  9. set /a minu=a-b
  10. echo %date%
  11. echo %time:~0,5%
  12. echo ~_~( ) ( )~_~
  13. echo @ \ ( ) / @
  14. echo @ \_) (_/ @
  15. echo ......工作一天辛苦了,早点休息吧!......
  16. choice /t 10 /c ync /n /d y /m 还有%minu%分钟要关机了,你文件保存好了么?(如果想取消定时关机,请打开取消关机脚本)
  17. echo.
  18. call C:\Users\tang\Desktop\AutoShutdownComputer.bat

choice那句我设置显示10秒钟,最后一个call回调到主程序,不然在这显示完后关闭了,主程序也会关闭了,就没有办法后台继续运行了

CancleTime.bat

  1. @echo off
  2. title Clock reminded
  3. mode con cols=60 lines=38
  4. color 0d
  5. set Hours=%time:~0,5%
  6. echo %date%
  7. echo %time:~0,5%
  8. echo.
  9. echo 已经定时晚上11点关机了,文件你保存好了么?
  10. echo ......1.取消定时关机
  11. echo ......2.请输入延长关机时间
  12. echo ......q.退出脚本
  13. echo.
  14. set /p shut_down= .....在这里输入你的计划:
  15. )
  16. :sta
  17. if "%shut_down%" equ "1" (
  18. echo.
  19. echo -~--~--~--~--~-
  20. echo 我不需要定时关机了
  21. taskkill /f /t /im cmd.exe
  22. )
  23. if "%shut_down%" equ "2" goto SetupTime
  24. if "%shut_down%" equ "q" ( exit /b ) else (
  25. echo.
  26. echo.
  27. choice /t 3 /c ync /n /d y /m 输入错误,请重新输入!!!
  28. goto anew
  29. )
  30. :SetupTime
  31. echo.
  32. set /p shutdown_time= ......如60表示60分钟后关机:
  33. echo.
  34. set /a shutdown_timehour=%shutdown_time%*60
  35. echo.
  36. shutdown -s -t %shutdown_timehour%
  37. echo 设置%shutdown_time%分钟后关机成功
  38. pause>nul
  39. taskkill /f /t /im cmd.exe
  40. :anew
  41. cls
  42. echo %date%
  43. echo %time:~0,5%
  44. echo.
  45. echo 已经定时晚上11点关机了,文件你保存好了么?
  46. echo ......1.取消定时关机
  47. echo ......2.请输入延长关机时间
  48. echo ......q.退出脚本
  49. set shut_down=
  50. echo.
  51. set /p shut_down= .....在这里输入你的计划:
  52. goto sta

这部分也是很重要的,如果想关闭主程序后台运行,就执行这个程序,如果想延长关机时间,也可以,在这里,你可以根据提示的内容,执行你想做的事。

至于脚本开机自启,大家可以参考这个来设置http://xinzhi.wenda.so.com/a/1522406733611412

这三个脚本放在桌面上,把第一个脚本快捷方式放在开机自启的文件夹里,路径调用脚本的时候,路径要填写正确

然后你重启,通过任务管理器看cmd.exe这个进程是否运行,如果运行说明没有问题

(0)

相关推荐