本帖最后由 mms0536 于 2014-12-6 22:44 编辑
回复 3# xxnda - @echo off
- :begin
- if not exist ./reboottime.ini echo 0 >./reboottime.ini
- set /p c=<./reboottime.ini
- set c=%c: =%
- if not exist ./restarttime.ini goto inputtime
- set /p restarttime=<./restarttime.ini
- goto next
- :inputtime
- cls
- echo.
- echo 输入要重启到的时间,时间格式hh:mm
- echo.
- set /p restarttime=请输入要重启到的时间:
- echo %restarttime%>./restarttime.ini
- :next
- set hour=%restarttime:~0,2%
- set min=%restarttime:~3,2%
- set panduan=%restarttime:~2,1%
- if %hour% GTR 23 goto error
- if %min% GTR 59 goto error
- if "%panduan%" NEQ ":" goto error
- set curhour=%time:~0,2%
- set curmin=%time:~3,2%
- set /a a=%hour%-%curhour%
- set /a b=%min%-%curmin%
- rem 小时相减之后大于0,肯定不到时间
- if %a% GTR 0 goto restart
- rem 小时相减小于0 肯定过时间了,退出
- if %a% LSS 0 goto exit
- rem 小时相减=0,再判断分钟数,分钟数相减大于0,还不到时间
- if %b% GTR 0 goto restart
- rem 到这里小时肯定就是一样了,分钟数如果小于或者等于0,那就结束
- if %b% LEQ 0 goto exit
- :restart
- echo 即将重启电脑
- set /a c=%c%+1
- echo %c% >./reboottime.ini
- echo %date%,%time%,第%c%次重启>>.\reboot.log
- rem 自己修改300,单位秒,如果立即重启,就0
- shutdown -r -t 300
- pause>nul
- exit
- :exit
- echo 已经重启完了
- type .\reboot.log
- pause>nul
- exit
- :error
- echo .
- echo error:时间格式不对,或者输入时间有误
- echo .
- pause>nul
- goto begin
复制代码
|