定时关机 的命令

文章类型:windows资料
发布日期:2009-9-20

@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

自由风工作室-asp资料,delphi资料,windows资料,定时关机 的命令