- 现金
- 487 元
- 精华
- 0
- 帖子
- 269
- 注册时间
- 2008-1-6
- 最后登录
- 2019-9-1
|
新建一个记事本文件,将以下代码复制进去,然后保存后缀名为 .bat
好了,一个定时关机程序就搞定了
全部windows内部命令,保证无毒!
@echo off & cls & color 2f & 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
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 |
|