当前位置: 首页 > 图文教程 > 脚本技术 > DOS/BAT > 批处理 实现定时关机、注销、重启、锁定等功能

DOS/BAT
用批处理实现禁止运行指定程序
批处理 Autorun 病毒清除工具
批处理FINDSTR正则表达式用法实例分析
for命令的一些bug分析
for语句中的几种分隔符形式小结
Norton Ghost批处理命令用法详细介绍
CMD CODE PAGE的概念及其设置值使用方法
批处理delims=和tokens=星号 的使用差别
在DOS方式下对注册表进行操作的代码
批处理 API实现文件下载的代码
包你学会批处理整理集合
使用脚本和批处理清除电脑中的痕迹的代码
批处理BAT加强函数代码使用说明
用批处理解决数学问题的代码
cmd下PUSHD和POPD命令使用说明
比较详细的手把手教你写批处理(willsort题注版)
在批处理文件中使用参数的方法
cmd批处理转义字符%的详细解释
超详细的CMD DOS下符号的作用参考
DOS命令批量删除文件及制作该命令的批处理命令详解

DOS/BAT 中的 批处理 实现定时关机、注销、重启、锁定等功能


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 178 ::
收藏到网摘: n/a

复制代码 代码如下:

@ECHO off
TITLE greaterthanme-实现定时关机、注销、重启、锁定等功能。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.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 choSetHour
CLS
ECHO.
SET ask=
SET p ask=是否设定为每天执行关机命令(yn)
IF NOT %ask%== SET ask=%ask~0,1%
IF I %ask%==y GOTO yes
IF I %ask%==n GOTO no
GOTO SetHouryes
ECHO 请指定24小时制式时间,格式为 小时分钟
SET shutdowntime=
SET p shutdowntime=输入
at %shutdowntime% everyM,T,W,Th,F,S,Su tsshutdn 0 delay0 powerdown nul
rem 设定为每周的星期一至星期日,即为每天
IF NOT errorlevel 1 GOTO ok
rem 如果输入正确,就执行ok段的语句
ECHO %shutdowntime% 不是标准的时间格式,请重新输入
ECHO.
GOTO yesno
ECHO 请指定24小时制式时间,格式为 小时分钟
SET shutdowntime=
SET p shutdowntime=输入
at %shutdowntime% tsshutdn 0 delay0 powerdown nul
IF NOT errorlevel 1 GOTO ok
ECHO %shutdowntime% 不是标准的时间格式,请重新输入
ECHO.
GOTO nook
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 如果输入hmm则HM=h时mm分,否则HM=hh时mm分
IF I %ask%==y ECHO 系统将于每天的%HM%关闭
IF I %ask%==n ECHO 系统将于%HM%关闭
ECHO 设定完毕! 按任意键继续...
PAUSE nul
GOTO startouttime
CLS
ECHO.
ECHO 请输入倒计时秒数
ECHO ————————
ECHO (设定后要取消,单击确定后按Ctrl+C键两次)
SET timed=
SET p timed=输入
tsshutdn %timed% delay0 powerdown nul
IF not errorlevel 1 GOTO ok
ECHO %timed% 是无效的关机时间,请重新输入
ECHO.
GOTO outtimedelAt
cls
echo.
at del y
echo 定时关机任务已取消,按任意键继续...
pause nul
GOTO startview
MODE con COLS=85 LINES=18
COLOR 70
ECHO.
at
ECHO 按任意键继续...
PAUSE nul
GOTO startrestart
shutdown -r -t 0lock
rundll32.exe user32.dll,LockWorkStation
goto startlogoff
logoffend
exit