中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何将当前系统时间存入变量
作者:
标题: 如何将当前系统时间存入变量 上一主题 | 下一主题
alfredhou
初级用户





积分 100
发帖 34
注册 2006-4-5
状态 离线
『楼 主』:  如何将当前系统时间存入变量

我台电脑放宿舍,大家都来用.现在就想建个批处理,在电脑启动的时候运行,自动检测系统时间,如是在深夜的时候,也就是晚上23点到明早8点这个时间内不能用,请各位大侠多帮忙,谢谢

2006-6-16 11:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
kcdsw
中级用户





积分 404
发帖 179
注册 2006-3-30
状态 离线
『第 2 楼』:  

%DATE% %TIME% 本身就是变量  稍做利用就能达到你的目的

2006-6-16 11:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
不得不爱
超级版主

我爱DOS


积分 5310
发帖 2044
注册 2005-9-26
来自 四川南充
状态 离线
『第 3 楼』:  

不想让软件用可以在BIOS里面设置密码.这样在启动时就必须输入密码才能所有!何必一定用批处理?



我的网络U盘 我的网络第2个U盘
论坛软件下载链接
灵雨飘零论坛  
论坛新手必读,所有人的基本行为准则
刷QQ空间人气、留言的小软件
2006-6-16 11:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
alfredhou
初级用户





积分 100
发帖 34
注册 2006-4-5
状态 离线
『第 4 楼』:  关于定时关机

兄台,我是想定想不让用(主要是深夜时影响别人休息),并非不想让人家用,那就显得太小气啦,对不?

2006-6-18 18:02
查看资料  发短消息 网志   编辑帖子  回复  引用回复
alfredhou
初级用户





积分 100
发帖 34
注册 2006-4-5
状态 离线
『第 5 楼』:  关于定时关机

兄台,谢谢你.我想我要仔细研究一下.不过你指点了我思路.这就足够啦,谢谢.

2006-6-18 18:03
查看资料  发短消息 网志   编辑帖子  回复  引用回复
alfredhou
初级用户





积分 100
发帖 34
注册 2006-4-5
状态 离线
『第 6 楼』:  关于定时关机

我写了一个,内容如下,请大家斧正,谢谢大家



@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
状态 离线
『第 7 楼』:  

楼主的是什么系统哦?这么重要的信息都没提供.怎么帮你啊.

2006-6-26 01:43
查看资料  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 8 楼』:  

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 楼』:  

不知道这样行不行.

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 楼』:  

能否解释一下程序是如何执行的,lss,geq是什么含义,time 后的~0,2%是什么意思,大家能解释一下么

2006-6-28 21:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
htysm
高级用户




积分 866
发帖 415
注册 2005-12-4
状态 离线
『第 11 楼』:  

If
在批处理程序中执行条件处理。

语法
if [not] errorlevel number command [else expression]

if [not] string1==string2 command [else expression]

if [not] exist filename command [else expression]

如果启用了命令扩展,请使用以下语法:

if string1 compareop string2 command [else expression]

if cmdextversion number command [else expression]

if defined variable command [else expression]

参数
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
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: