中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 10:17
48,040 主题排行 / 350,125 发帖 / 今日 0 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » [已解决]用VBS获取系统当前时间添加at任务
可打印版本  2,865 / 27
第16楼 hackhd 发表于 2008-01-26 21:41
中级用户 发帖 102 积分 231
已经考虑到了。
所以。


a=Wsh.Run("at "&hour(now)&":"&((minute(now)+5) mod 60)&" 1.vbs",0,False)

问题解决
第17楼 fastslz 发表于 2008-01-26 21:44
铂金会员 发帖 2,315 积分 5,493 来自 上海
算了吧直接给你代码算了,at不支持上午下午的,还要格式化24小时制的
第18楼 fastslz 发表于 2008-01-26 21:54
铂金会员 发帖 2,315 积分 5,493 来自 上海
hour(now)&":"&((minute(now)+5) mod 60
哦之前,知道有这样计算方法,就是不知道参数怎么写
第19楼 slore 发表于 2008-01-26 22:35
铂金会员 发帖 2,478 积分 5,212
f
Newnn=Split(NewTime(0), " " ,-1)
这句你那里是通的麽?

h?
你那叫考虑了?你那样要等1天才运行吧?

12:56+5=13:01

你那样到12:01去执行……也叫考虑了。。。
第20楼 fastslz 发表于 2008-01-26 22:59
铂金会员 发帖 2,315 积分 5,493 来自 上海
Newnn=Split(NewTime(0), " " ,-1)
if Newnn(1)+1 = 13 Then
nn="01"
else
nn=Newnn(1)+1
end if
已经转换了
第21楼 slore 发表于 2008-01-26 23:02
铂金会员 发帖 2,478 积分 5,212
NewTime(0)里面不包含空格……你这个是什么意思啊?
按空格分割后,newnn(1)是不存在的……你那样就下标越界了……

第一次将time分割后,0 1 2分别是h,m,s
第22楼 fastslz 发表于 2008-01-26 23:14
铂金会员 发帖 2,315 积分 5,493 来自 上海
Wscript.echo Time
下午空格HH:MM:SS

TimeTmp="下午 12:56:00"
NewTime = Split(TimeTmp, ":" ,-1)
if NewTime(1)+5 > 59 Then
mm=NewTime(1)+5-60
Newnn=Split(NewTime(0), " " ,-1)
if Newnn(1)+1 = 13 Then
nn="01"
else
nn=Newnn(1)+1
end if
Times = Newnn(0) & " " & nn & chr(58) & mm & chr(58) & NewTime(2)
else
Times = NewTime(0) & chr(58) & NewTime(1)+5 & chr(58) & NewTime(2)
end if
Wscript.echo Times
Wscript.echo FormatDateTime (Times ,vbShortTime)
第23楼 fastslz 发表于 2008-01-26 23:19
铂金会员 发帖 2,315 积分 5,493 来自 上海
2种代码能达到楼主的目的讨论没有意义了
第24楼 slore 发表于 2008-01-26 23:22
铂金会员 发帖 2,478 积分 5,212
Originally posted by fastslz at 2008-1-26 23:19:
2种代码能达到楼主的目的讨论没有意义了



。。。。是说当系统选用24制的时候是不会出现“下午 ”字样的……
这个代码的移植性……

他的代码没有做进位虽然是1句话……

我是说这个问题。。。与方法无关。
第25楼 hackhd 发表于 2008-01-26 23:27
中级用户 发帖 102 积分 231
哦也。讨论得还真激烈。当然我一句话只是达到我的目的,因为我不需要上午下午的判断 只要系统当时间+5就行了。

大家讨论的也对。是另一种思路

不管什么方法。我只希望代码能尽量的精简

[ Last edited by hackhd on 2008-1-26 at 11:29 PM ]
第26楼 zh159 发表于 2008-01-27 01:14
金牌会员 发帖 1,467 积分 3,687
就一个DateAdd
第27楼 fastslz 发表于 2008-01-27 14:35
铂金会员 发帖 2,315 积分 5,493 来自 上海
晕DateAdd函数原来这么简单,之前我把它复杂化了
Vbs时间换算太灵活了
vbs脚本如果英语基础好的话,写脚本如同写短句,之所以中国软件业不如后来居上印度也是因为本地化语言障碍。
第28楼 hackhd 发表于 2008-01-27 19:07
中级用户 发帖 102 积分 231
Wsh.Run "at "&hour(now)&":"&((minute(now)+5) mod 60)&" 1.vbs",0,False
FormatDateTime(DateAdd("n",5,now),vbShortTime)
也不错啊。。
上一页  1 2
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023