批处理中如何使用%time%获取当前时间并传递到下一个命令

因为要使用一个必须加入时间参数的命令,想通过%time%来获取,并取得1分钟之后的时间值。但是直接取得%time%的各个数位的值好像都是字符型的,无法进行数字运算。请教高... 因为要使用一个必须加入时间参数的命令,想通过%time%来获取,并取得1分钟之后的时间值。但是直接取得%time%的各个数位的值好像都是字符型的,无法进行数字运算。请教高手帮忙解决。
因为在后一个命令当中必须使用确定的时间,也就是说用延时的方法是不能实现的。而且我需要让这个时间必须是在当前时间之后非常靠近的某个时间才行。
谢谢各位大虾。

顺便,小白勿扰。(这句话我本来不想加,但是我每次提问总有小白来装*B,请大虾们见谅)
展开
 我来答
睿之锐
2009-07-09 · TA获得超过1269个赞
知道小有建树答主
回答量:809
采纳率:0%
帮助的人:470万
展开全部
楼上两位的答案在系统时间每小时的59分、8分、9分时将出现时间进位和数字进位制(8进制和10进制混淆)产生的计算错误,就楼上的代码给你改正一下。
@echo off
set hh=%time:~0,2%&set mm=%time:~3,2%&set ss=%time:~6,5%
if "%time:~3,1%"=="0" set /a mm="%time:~4,1%"
if "%time:~0,1%"=="0" set /a mm="%time:~1,1%"
set/a mm+=1
if "%mm%"=="60" set mm=00&&set/a hh+=1
if "%hh%"=="24" set hh=00
echo 现在的时间是: %time%
echo 一分后的时间: %hh%:%mm%:%ss%
pause

请楼主测试并放心使用。
314ccp
2009-07-09 · TA获得超过5625个赞
知道大有可为答主
回答量:1497
采纳率:0%
帮助的人:2152万
展开全部
这个怎样?
@echo off
set hh=%time:~0,2%&set mm=%time:~3,2%&set ss=%time:~6,5%
set/a mm+=1&if "%mm%"=="60" (set mm=00&&set/a hh+=1)
echo 现在的时间是: %time%
echo 一分后的时间: %hh%:%mm%:%ss%
pause
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大力是也
2009-07-09 · TA获得超过1721个赞
知道小有建树答主
回答量:983
采纳率:0%
帮助的人:787万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式