原帖由 hero123 于 2006-8-18 01:13 PM 发表
@echo off
:: 启用变量延迟
setlocal enabledelayedexpansion
:: 'time /t'在for语句中表示取系统当前时间,整体的意思是取冒号之前的小时数和之后的分钟数,抛弃秒数和微秒数
for /f "tokens=1,2 delims=:" %%i in ('time /t') do (
:: 特别注意:以下set语句中的&要紧跟前一句,之前不可留空格,否则会引起麻烦
set hour=x%%i& set minute=x%%j :: 分别在小时数和分钟数前插入任意字符(此处插入x),以便于对小于10的数进行处理
set hour=!hour:~-2!& set minute=!minute:~-2! :: 取最后两位数,则形如08、09之类小于10的数都转化为形如8、9的数
set now=!hour!!minute! :: 把取到的小时数和分钟数拼接起来
set "now=!now: =!" :: 这一句是去掉拼接数中可能含有的空格;如果以上部分照写,则可去掉此句
if !now! gtr 800 if !now! lss 1030 shutdown -s :: 对拼接后的数进行检查,看是否处于受限制的范围
:: 如果要在12点之前禁止开机,上一句可改成if !now! lss 1200 shutdown -s;并且以上代码还可以简化
)
原帖由 hero123 于 2006-8-18 04:28 PM 发表
仁兄辛苦了......感谢到流鼻涕.....
欢迎光临 无忧启动论坛 (http://wuyou.net/) | Powered by Discuz! X3.3 |