@echo off & cls & color 27 & mode con cols=62 lines=20 & title [定时关机工具] 今天是:%date:~0,4%年%date:~5,2%月%date:~8,2%日,%time:~0,2%点%time:~3,2%分%time:~6,5%秒 set n=10000 if exist %windir%\system32\shutdown.exe (goto :home) else (copy %temp%\shutdown.exe %windir%\system32\) :home cls echo. echo 温馨提示:爱机也需休息! echo. echo 注意:如定时错误,可重启本程序输入[O]取消定时,然后 echo 重新定时即可.本程序适用于WIN XP操作系统. echo. echo 泛滥棏慌°程序制作,于2007年4月19日. echo. echo ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ echo [S].定时关机 [R].定时重启 [O].取消定时 echo. echo [G].立即关机 [C].立即重启 [E].放弃退出 echo. echo [M].无倒计时窗口关机 [Y].无倒计时窗口重启 echo. set /P a= 请选择操作代号: SET w1=R S O E G C M Y FOR %%B IN (%w1%) DO IF /I "%a%"=="%%B" set flag=1 ECHO. if defined flag (goto :%a%) else ( SET /P N= 请选择选项里应有的操作.[Y-继续]: ) IF /I "%N%"=="Y" (GOTO :home) ELSE (exit)
:S cls echo. echo. echo. echo ┏━━━━━━━━━━━━━━━━━━━━━━━━━━┓ echo ┃注意:时间必须为纯数字,并且倒计时间不得大于%n%分钟.┃ echo ┃ ┃ echo ┃因关机时不保存数据,避免损失,倒计时间不得少于1分钟. ┃ echo ┃ ┃ echo ┃如输入:31,将会在31分钟后关机.会有倒计时窗口,不能关闭┃ echo ┗━━━━━━━━━━━━━━━━━━━━━━━━━━┛ echo. :s1 Set /p time= 请输入关机倒计时间,Q-返回: ECHO. if /i "%time%"=="q" goto :home if %time% lss 1 ( echo 因关机时不保存数据,避免损失,倒计时间不得少于1分钟. echo. echo 如想快速关机,请返回主菜单,[G]键立即关机. echo. goto :s1 ) if %time% lss %n% (goto :gj) else ( echo 注意:时间必须为纯数字,并且倒计时间不得大于%n%分钟. echo. goto :s1) :gj set /a time1=%time%*60 shutdown -s -f -c "你输入的是%time%分钟后关机" -t %time1% goto :q
:R cls echo. echo. echo. echo ┏━━━━━━━━━━━━━━━━━━━━━━━━━━┓ echo ┃注意:时间必须为纯数字,并且倒计时间不得大于%n%分钟.┃ echo ┃ ┃ echo ┃因关机时不保存数据,避免损失,倒计时间不得少于1分钟. ┃ echo ┃ ┃ echo ┃如输入:31,将会在31分钟后重启.会有倒计时窗口,不能关闭┃ echo ┗━━━━━━━━━━━━━━━━━━━━━━━━━━┛ echo. :r1 Set /p time= 请输入重启倒计时间(分钟),Q-返回: ECHO. if /i "%time%"=="q" goto :home if %time% lss 1 ( echo 因重启时不保存数据,避免损失,倒计时间不得少于1分钟. echo. echo 如想快速重启,请返回主菜单,[C]键立即重启. echo. goto :r1 ) if %time% lss %n% (goto :cq) else ( echo 注意:时间必须为纯数字,并且倒计时间不得大于%n%分钟. echo. goto :r1) :cq set /a time1=%time%*60 shutdown -R -f -c "你输入的是%time%分钟后重启" -t %time1% goto :q
:o at /d /y shutdown -a | find "没有" >nul if "%ERRORLEVEL%"=="0" echo 没有关机任务! echo. goto :q
:g shutdown -F -S -T 0 goto :q
:c shutdown -F -R -T 0 goto :q
:m echo 时间使用24小时制(如2:15、14:15),在关机前30秒会 echo 出现关机倒计时框. ECHO. :m1 SET /P time= 因关机不保存数据,请仔细输入时间(Q-返回): if /i "%time%"=="q" goto :home if not "%time%"=="" for %%s in (%time%) do ( at %%s /every:M,T,W,Th,F,S,Su shutdown -F -s | find "无效的命令" >nul ) if "%ERRORLEVEL%"=="0" ( echo. echo 无效的时间,重新输入! ECHO. goto :m1 ) echo. reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v 取消定时关机 /t reg_sz /d "at /d /y" /f>nul echo 将在%time%关机! echo. goto :q
:y echo 时间使用24小时制(如2:15、14:15),在关机前30秒会 echo 出现关机倒计时框. ECHO. :Y1 SET /P time= 因重启不保存数据,请仔细输入时间(Q-返回): if /i "%time%"=="q" goto :home if not "%time%"=="" for %%s in (%time%) do ( at %%s /every:M,T,W,Th,F,S,Su shutdown -F -R | find "无效的命令" >nul ) if "%ERRORLEVEL%"=="0" ( echo. echo 无效的时间,重新输入! ECHO. goto :Y1 ) echo. reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v 取消定时关机 /t reg_sz /d "at /d /y" /f>nul echo 将在%time%重启! echo. goto :q
:q echo 操作成功 ! 任意键返回... pause >nul goto :home
:E exit
|