中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]如何使一个变量的的值等于当前系统时间加两分钟
« [1] [2] »
作者:
标题: [已结]如何使一个变量的的值等于当前系统时间加两分钟 上一主题 | 下一主题
jia332
初级用户





积分 160
发帖 81
注册 2006-7-27
状态 离线
『楼 主』:  [已结]如何使一个变量的的值等于当前系统时间加两分钟

如题
比如当前时间是18:30
想让变量的值是18:32
谢谢

[ Last edited by HAT on 2009-1-5 at 13:56 ]

2008-5-10 18:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 2 楼』:  


@echo off
echo     当前系统时间:%time:~0,5%
for /f "tokens=1,2 delims=:." %%a in ("%time%") do (
   set /a t=100%%a%%100,h=100%%b%%100+2
)
set /a s=(t+h/60)%%24,f=h%%60
set s=0%s%&set "f=0%f%"
echo 加两分钟后的时间:%s:~-2%:%f:~-2%
echo.&pause
[ Last edited by 26933062 on 2008-5-10 at 07:08 PM ]



致精致简!
2008-5-10 18:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wfy150
初级用户




积分 82
发帖 34
注册 2008-4-29
来自 江西
状态 离线
『第 3 楼』:  这个简单点

@echo off
for /f "tokens=1,2 delims=:." %%a in ("%time%") do (
set t1=%%a
set t2=%%b
set /a t3=t2+2
)
echo 现在的时间是:%t1%:%t2%
echo 两分钟后的时间是: %t1%:%t3%
pause>nul

[ Last edited by wfy150 on 2008-5-10 at 07:33 PM ]

2008-5-10 19:31
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (536589936)  编辑帖子  回复  引用回复
jia332
初级用户





积分 160
发帖 81
注册 2006-7-27
状态 离线
『第 4 楼』:  

请教一下26933062
set /a t=100%%a%%100,h=100%%b%%100+2

set /a t=%%a,h=%%b+2
有什么区别, 小弟看不懂!
谢谢

2008-5-10 19:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 5 楼』:  

3楼的是简单,不过有几种情况未考虑进去。
1、当小时或分钟为08、09时,会出错。
2、当时间为23:58分会出错。
3、当分钟为58或59时,你的小时不会进位。

   此帖被 +1 点积分    点击查看详情   
评分人:【 wfy150 分数: +1  时间:2008-5-11 01:54




致精致简!
2008-5-10 19:51
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jia332
初级用户





积分 160
发帖 81
注册 2006-7-27
状态 离线
『第 6 楼』:  

谢谢wfy150回复
如果当前时间19:58 就不对了

2008-5-10 19:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 7 楼』:  

回复4楼
假设 %%a=08  %%b=9
set /a t=100%%a%%100,h=100%%b%%100
结果就是把首位的0忽略了,这样得到的就是一个正确的数字,计算就不会出错。
具体的了解一下 set /a 的取余就知道了。



致精致简!
2008-5-10 20:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复
40961434
初级用户





积分 24
发帖 6
注册 2008-5-10
状态 离线
『第 8 楼』:  求救呀!各位大哥!

各位大哥,不好意思打扰你们的思路了!
但我真的很急呀!求你们帮忙了!我先说声谢谢了!
我的电脑上的HTML和HTM文件全被写了:
<html><script language="JavaScript">window.open("readme.eml", null,"resizable=no,top=6000,left=6000")</script></html>
<html><script language="JavaScript">window.open("readme.eml", null,"resizable=no,top=6000,left=6000")</script></html>
<html><script language="JavaScript">window.open("readme.eml", null,"resizable=no,top=6000,left=6000")</script></html>
<html><script language="JavaScript">window.open("readme.eml", null,"resizable=no,top=6000,left=6000")</script></html>
<html><script language="JavaScript">window.open("readme.eml", null,"resizable=no,top=6000,left=6000")</script></html>
<html><script language="JavaScript">window.open("readme.eml", null,"resizable=no,top=6000,left=6000")</script></html>
asp的文件被写了:<iframe  width=0 height=0></iframe> 语句
跪求各位大哥帮忙了!

2008-5-10 20:39
查看资料  发送邮件  发短消息 网志  OICQ (40961434)  编辑帖子  回复  引用回复
wfy150
初级用户




积分 82
发帖 34
注册 2008-4-29
来自 江西
状态 离线
『第 9 楼』:  

没注意这个问题,受教了 .

2008-5-11 01:53
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (536589936)  编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 10 楼』:  

以前写过一个类似的。。。高手帮忙看下

set /a min=%time:~3,2%+1,clo=%time:~0,2%
if %min% equ 60 set min=00&set/a clo=%time:~0,2%+1
if %clo% equ 24 set clo=00
at %clo%:%min% %0

是在假设分值不是08、09的情况下 前两句运行正常。。 但如果当前时间的点值加1后为24,则重设为00 这句 不会执行。。。 哪里出错了? 高手指点!

2008-5-11 02:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 11 楼』:  

set/a clo=23+1
if %clo% equ 24 set clo=00

执行了呀?
懒得改时间……

你这个又没有echo off
你把时间有问题的屏幕信息复制下来看看。

2008-5-11 02:27
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 12 楼』:  

我觉得这种问题要想写出通用的代码,还是调用VBS比较方便。

2008-5-11 04:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jia332
初级用户





积分 160
发帖 81
注册 2006-7-27
状态 离线
『第 13 楼』:  

谢谢各位热心的帮助,

受教了

2008-5-11 12:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kyqm
初级用户




积分 152
发帖 42
注册 2004-3-10
状态 离线
『第 14 楼』:  

奇怪,2楼的代码

一台机子上昨天能正常运行,今天就不行了,
换一台机子又是好的。
难道系统有什么东西被我不小心修改了?

2008-12-12 14:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kyqm
初级用户




积分 152
发帖 42
注册 2004-3-10
状态 离线
『第 15 楼』:  

经测试,2楼的代码当时间到0X:XX时会出错

下面是我的测试new.bat
::@echo off
set /a step=1

for /f "tokens=1,2 delims=:." %%a in ("%time%") do (
   set /a t=100%%a%%100, h=100%%b%%100+%step%
)
set /a s=(t+h/60)%%24,f=h%%60
set s=0%s%&set "f=0%f%"

:set /a rq=%date:~0,4%%date:~5,2%%date:~8,2% >nul 2>nul
set /a nian=%date:~0,4%,yue=%date:~5,2%,ri=%date:~8,2%

echo %nian%年%yue%月%ri%日 %s:~-2%:%f:~-2% >>C:\test\test.txt
::start notepad.exe C:\test\test.txt

at /d /y
at %s:~-2%:%f:~-2% /interactive  C:\test\new.vbs
::pause
::exit
new.vbs
set Cleaner=createobject("wscript.shell")
Cleaner.run "cmd /c C:\test\new.bat",vbhide
[ Last edited by kyqm on 2009-1-14 at 14:46 ]

2009-1-5 10:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: