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

经过几天的摸索和学习,不断的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这个进程是否运行,如果运行说明没有问题

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值