经过几天的摸索和学习,不断的debug,终于做出了一个bat定时关机脚本,说真的,实属不易,因为bat所能使用的一些指令太少了,感觉真的很弱,但是没办法,只能转换思路,绕过这些没有的指令,不说了,直接上代码,也希望上面有一个python爬虫的源码,希望大家下载,算是给我的一点安慰吧,以后如果有好的脚本再做出来给大家一起用.
AutoShutdown.bat
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:begin
title Clock reminded
mode con cols=60 lines=38
color 0d
set true="1"
:start
if "%time:~0,8%" equ "23:00:00" (
shutdown -s -t 0
echo.
echo Good Bye!!!
echo %date%
pause>nul
)
if "%time:~0,8%" EQU "22:40:00" (
call C:\Users\tang\Desktop\reminder.bat
)
if "%time:~0,8%" EQU "22:45:00" (
call C:\Users\tang\Desktop\reminder.bat
)
if "%time:~0,8%" EQU "22:50:00" (
call C:\Users\tang\Desktop\reminder.bat
)
if "%time:~0,8%" EQU "22:55:00" (
call C:\Users\tang\Desktop\reminder.bat
)
if %true%=="1" goto start
这是主程序,我定时晚上11准时关机,每隔5分钟提醒一次,从晚上10:40分开始提醒,然后提醒的内容就是call的那部分,我分开来写,不然这部分的内容没办法跳出窗口来提示你
reminder.bat:
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",5)(window.close)&&exit
:begin
mode con cols=40 lines=24
color 0d
set a=60
set b=%time:~3,5%
set /a minu=a-b
echo %date%
echo %time:~0,5%
echo ~_~( ) ( )~_~
echo @ \ ( ) / @
echo @ \_) (_/ @
echo ......工作一天辛苦了,早点休息吧!......
choice /t 10 /c ync /n /d y /m 还有%minu%分钟要关机了,你文件保存好了么?(如果想取消定时关机,请打开取消关机脚本)
echo.
call C:\Users\tang\Desktop\AutoShutdownComputer.bat
choice那句我设置显示10秒钟,最后一个call回调到主程序,不然在这显示完后关闭了,主程序也会关闭了,就没有办法后台继续运行了
CancleTime.bat
@echo off
title Clock reminded
mode con cols=60 lines=38
color 0d
set Hours=%time:~0,5%
echo %date%
echo %time:~0,5%
echo.
echo 已经定时晚上11点关机了,文件你保存好了么?
echo ......1.取消定时关机
echo ......2.请输入延长关机时间
echo ......q.退出脚本
echo.
set /p shut_down= .....在这里输入你的计划:
)
:sta
if "%shut_down%" equ "1" (
echo.
echo -~--~--~--~--~-
echo 我不需要定时关机了
taskkill /f /t /im cmd.exe
)
if "%shut_down%" equ "2" goto SetupTime
if "%shut_down%" equ "q" ( exit /b ) else (
echo.
echo.
choice /t 3 /c ync /n /d y /m 输入错误,请重新输入!!!
goto anew
)
:SetupTime
echo.
set /p shutdown_time= ......如60表示60分钟后关机:
echo.
set /a shutdown_timehour=%shutdown_time%*60
echo.
shutdown -s -t %shutdown_timehour%
echo 设置%shutdown_time%分钟后关机成功
pause>nul
taskkill /f /t /im cmd.exe
:anew
cls
echo %date%
echo %time:~0,5%
echo.
echo 已经定时晚上11点关机了,文件你保存好了么?
echo ......1.取消定时关机
echo ......2.请输入延长关机时间
echo ......q.退出脚本
set shut_down=
echo.
set /p shut_down= .....在这里输入你的计划:
goto sta
这部分也是很重要的,如果想关闭主程序后台运行,就执行这个程序,如果想延长关机时间,也可以,在这里,你可以根据提示的内容,执行你想做的事。
至于脚本开机自启,大家可以参考这个来设置http://xinzhi.wenda.so.com/a/1522406733611412
这三个脚本放在桌面上,把第一个脚本快捷方式放在开机自启的文件夹里,路径调用脚本的时候,路径要填写正确
然后你重启,通过任务管理器看cmd.exe这个进程是否运行,如果运行说明没有问题