| 
 
alfredhou 
初级用户
 
  
 
  
  
积分 100 
发帖 34 
注册 2006-4-5 
状态 离线
 | 
『楼 主』:
 如何将当前系统时间存入变量
 
使用 LLM 解释/回答一下
  
我台电脑放宿舍,大家都来用.现在就想建个批处理,在电脑启动的时候运行,自动检测系统时间,如是在深夜的时候,也就是晚上23点到明早8点这个时间内不能用,请各位大侠多帮忙,谢谢 
 
    
 
  
 |   
 | 
  2006-6-16 11:28 | 
  
 | 
 | 
 
kcdsw 
中级用户
 
   
 
  
  
积分 404 
发帖 179 
注册 2006-3-30 
状态 离线
 | 
 | 
  2006-6-16 11:58 | 
  
 | 
 | 
 
不得不爱 
超级版主
 
          我爱DOS
  
 
积分 5310 
发帖 2044 
注册 2005-9-26 来自 四川南充 
状态 离线
 | 
 | 
  2006-6-16 11:59 | 
  
 | 
 | 
 
alfredhou 
初级用户
 
  
 
  
  
积分 100 
发帖 34 
注册 2006-4-5 
状态 离线
 | 
『第 4 楼』:
 关于定时关机
 
使用 LLM 解释/回答一下
  
兄台,我是想定想不让用(主要是深夜时影响别人休息),并非不想让人家用,那就显得太小气啦,对不? 
 
    
 
  
 |   
 | 
  2006-6-18 18:02 | 
  
 | 
 | 
 
alfredhou 
初级用户
 
  
 
  
  
积分 100 
发帖 34 
注册 2006-4-5 
状态 离线
 | 
 | 
  2006-6-18 18:03 | 
  
 | 
 | 
 
alfredhou 
初级用户
 
  
 
  
  
积分 100 
发帖 34 
注册 2006-4-5 
状态 离线
 | 
『第 6 楼』:
 关于定时关机
 
使用 LLM 解释/回答一下
  
我写了一个,内容如下,请大家斧正,谢谢大家 
 
 
 
@echo off 
 
 if %time% lss 10:00 goto 1 
 if %time% geq 10:00 goto 2 
 
:1 
 if %time% geq 8:00 goto end 
 if %time% lss 8:00 shutdown -s -t 60 -c " 现在是休息时间!>>>请休息<<< 
 
:2 
 if %time% geq 23:00 shutdown -s -t 60 -c " 现在是休息时间!>>>请休息<<< 
 if %time% lss 23:00 goto end 
 
:end 
 
    
 
  
 |   
 | 
  2006-6-18 18:32 | 
  
 | 
 | 
 
voiL 
中级用户
 
   
 
  
  
积分 384 
发帖 189 
注册 2005-10-19 
状态 离线
 | 
 | 
  2006-6-26 01:43 | 
  
 | 
 | 
 
willsort 
元老会员
 
          Batchinger
  
 
积分 4432 
发帖 1512 
注册 2002-10-18 
状态 离线
 | 
『第 8 楼』:
 
 
使用 LLM 解释/回答一下
  
Re alfredhou: 
      将时间直接作比较会有一些问题,比如8:00不会小于10:00,因为它含有非数字字符,所以是字符串比较,而不是数值比较。解决的办法,可以将小时的数字值取出后比较。下面是对原型程序简单的修改。
  
@echo off 
if %time:~0,2% geq 8 if %time:~0,2% lss 23 goto :eof 
shutdown -s -t 60 -c " 现在是休息时间!>>>请休息<<< 
  
 
    
 
  
  |  
                  
  
                    ※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得! |   
 | 
  2006-6-26 03:22 | 
  
 | 
 | 
 
htysm 
高级用户
 
    
 
  
 
积分 866 
发帖 415 
注册 2005-12-4 
状态 离线
 | 
『第 9 楼』:
 
 
使用 LLM 解释/回答一下
  
不知道这样行不行. 
 
net user username /times:m-f,8:00-23:00;sa-su,8:00-23:00 
 
 Last edited by htysm on 2006-6-26 at 09:47 ] 
 
    
 
  
 |   
 | 
  2006-6-26 09:22 | 
  
 | 
 | 
 
BAT 
初级用户
 
  
 
  
 
积分 177 
发帖 52 
注册 2006-6-4 
状态 离线
 | 
『第 10 楼』:
 
 
使用 LLM 解释/回答一下
  
能否解释一下程序是如何执行的,lss,geq是什么含义,time 后的~0,2%是什么意思,大家能解释一下么 
 
    
 
  
 |   
 | 
  2006-6-28 21:19 | 
  
 | 
 | 
 
htysm 
高级用户
 
    
 
  
 
积分 866 
发帖 415 
注册 2005-12-4 
状态 离线
 | 
『第 11 楼』:
 
 
使用 LLM 解释/回答一下
  
If 
在批处理程序中执行条件处理。 
 
语法 
if  errorlevel number command  
 
if  string1==string2 command  
 
if  exist filename command  
 
如果启用了命令扩展,请使用以下语法: 
 
if  string1 compareop string2 command  
 
if cmdextversion number command  
 
if defined variable command  
 
参数 
not  
指定只有当条件为假时才执行该命令。  
errorlevel number  
只有当由 Cmd.exe 运行的前一个程序返回大于或等于 number 的退出代码时,才能指定真条件。  
command  
指定只有满足前面的条件时才应执行的命令。  
string1==string2  
只有当 string1 和 string2 相同时才能指定真条件。这些值可以是文字字符串或批处理变量(例如,%1)。对于文字字符串,不需要使用问号。  
exist filename  
如果 filename 存在,则指定真条件。  
CompareOp  
指定 3 个字母的比较运算符。下表列出了 compareop 的有效值。 运算符 说明  
EQU 等于  
NEQ 不等于  
LSS 少于  
LEQ 少于或等于  
GTR 大于  
GEQ 大于或等于  
 
/i  
强制字符串比较忽略大小写。可以在 if 的 string1==string2 形式上使用/i。这些比较是通用的,如果 string1 和 string2 都由所有的数字组成,那么字符串将被转换为数字并且将执行数字比较。 
 
    
 
  
 |   
 | 
  2006-7-15 11:49 | 
  
 |