今天想设置一下每天的定时关机的方法,搜索了老半天终于找到了,分享给大家。
- N" U% ~! z' U3 T" j尤其是那个批处理文件,简直太给力了!
1 Y0 n# U7 N% u4 C0 t j6 O5 p/ {$ `==============================================
3 {: t3 N$ Q$ l# q# G9 s: v, |开始--运行--输入--shutdown /s /t 60 /s 意思是 关机 /r 意思是 重启 /t 意思是 时间(以秒计算)
2 l- b0 f* S2 N0 }9 g6 i============================================== 或者下面的保存为 .bat格式 运行就可以了 # M& P1 M2 b t
============================================== 6 M! R. c- W* ?+ g* k6 x+ y: ?
@ECHO off TITLE 自动关机程序 : A6 I: I1 o. {( N8 w9 l0 s- C
:start CLS COLOR 1f rem 使用COLOR命令对控制台输出颜色进行更改 MODE con: COLS=41 LINES=18 rem MODE语句为设定窗体的宽和高 set tm1=%time:~0,2% set tm2=%time:~3,2% set tm3=%time:~6,2% ECHO %date% %tm1%点%tm2%分%tm3%秒 ECHO ========================================= ECHO 请选择要进行的操作,然后按回车 ECHO ─────────────── ECHO. ECHO 1. 定时关机 ECHO 2. 倒计时关机 ECHO 3. 删除定时关机任务 ECHO 4. 查看任务状态 ECHO 5. 刷新当前时间 ECHO 6. 重新启动 ECHO 7. 锁定计算机 ECHO 8. 注销 ECHO 9. 退出 ECHO.
C) K7 ?3 M6 D5 l6 V' Y:cho SET Choice= SET /P Choice=选择: rem 设定变量"Choice"为用户输入的字符 IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1% rem 如果输入大于1位,取第1位,比如输入132,则返回值为1 ECHO. IF /I "%Choice%"=="1" GOTO SetHour IF /I "%Choice%"=="2" GOTO outtime IF /I "%Choice%"=="3" GOTO delAt IF /I "%Choice%"=="4" GOTO view IF /I "%Choice%"=="5" GOTO start IF /I "%Choice%"=="6" GOTO restart IF /I "%Choice%"=="7" GOTO lock IF /I "%Choice%"=="8" GOTO logoff IF /I "%Choice%"=="9" GOTO end rem 为避免出现返回值为空或含空格而导致程序异常,需在变量外另加双引号 rem 注意,IF语句需要双等于号 rem 如果输入的字符不是以上数字,将返回重新输入 ECHO 选择无效,请重新输入 ECHO. GOTO cho
* n) H3 z# k0 `2 F3 I" \:SetHour CLS ECHO. SET ask= SET /p ask=是否设定为每天执行关机命令(y/n): IF NOT "%ask%"=="" SET ask=%ask:~0,1% IF /I "%ask%"=="y" GOTO yes IF /I "%ask%"=="n" GOTO no GOTO SetHour m% _0 P& n% q" S( `3 Z
:yes ECHO 请指定24小时制式时间,格式为 小时:分钟 SET shutdowntime= SET /p shutdowntime=输入: at %shutdowntime% /every:M,T,W,Th,F,S,Su tsshutdn 0 /delay:0 /powerdown >nul rem 设定为每周的星期一至星期日,即为每天 IF NOT errorlevel 1 GOTO ok rem 如果输入正确,就执行ok段的语句 ECHO %shutdowntime% 不是标准的时间格式,请重新输入 ECHO. GOTO yes
. P6 I Q: K. {6 P! f:no ECHO 请指定24小时制式时间,格式为 小时:分钟 SET shutdowntime= SET /p shutdowntime=输入: at %shutdowntime% tsshutdn 0 /delay:0 /powerdown >nul IF NOT errorlevel 1 GOTO ok ECHO %shutdowntime% 不是标准的时间格式,请重新输入 ECHO. GOTO no
; m1 O. t8 v* M:ok ECHO. SET h=%shutdowntime:~1,1% SET ah=%shutdowntime:~0,1% SET am=%shutdowntime:~2,2% SET bh=%shutdowntime:~0,2% SET bm=%shutdowntime:~3,2% IF "%h%"==":" ( SET HM=%ah%时%am%分 ) ELSE ( SET HM=%bh%时%bm%分) rem 如果输入h:mm则HM=h时mm分,否则HM=hh时mm分 IF /I "%ask%"=="y" ECHO 系统将于每天的%HM%关闭 IF /I "%ask%"=="n" ECHO 系统将于%HM%关闭 ECHO 设定完毕! 按任意键继续... PAUSE >nul GOTO start
- t9 a; t) i; c) }:outtime CLS ECHO. ECHO 请输入倒计时秒数 ECHO ──────── ECHO (设定后要取消,单击"确定"后按Ctrl+C键两次) SET timed= SET /p timed=输入: tsshutdn %timed% /delay:0 /powerdown >nul IF not errorlevel 1 GOTO ok ECHO %timed% 是无效的关机时间,请重新输入 ECHO. GOTO outtime % D! p+ B- L) j1 W; U' Z8 R; k
:delAt cls echo. at /del /y echo 定时关机任务已取消,按任意键继续... pause >nul GOTO start
) l( a+ L7 q! W9 M! ?- D:view MODE con: COLS=85 LINES=18 COLOR 70 ECHO. at ECHO 按任意键继续... PAUSE >nul GOTO start * j/ ]7 O w0 f
:restart shutdown -r -t 0 ) J+ X7 B+ h& B
:lock rundll32.exe user32.dll,LockWorkStation goto start
; X) s# L& \; B:logoff logoff ' L# i& z0 z0 o& U
:end exit |