Board logo

标题: 请高手帮忙:批处理修改系统时间(问题已解决) [打印本页]

作者: m72131     时间: 2009-1-27 13:58    标题: 请高手帮忙:批处理修改系统时间(问题已解决)
首先祝大家新年快乐、身体健康、合家欢乐!

我希望实现如下功能:只要一运行该批处理,系统时间就自动在原时间基础上向前调1分钟。如在11:04时运行,系统时间就变成11:05,在2:50时运行就变成2:51.
我找了个批处理,可以部分实现这个功能。

@echo off
set/a mm=%time:~3,2%
set/a hh=%time:~0,2%
set/a mm=%mm%+1
set/a a=%mm%
if %a% geq 60 set/a mm=%mm%-60 & set/a hh=%hh%+%mm%/60
:loop
if %mm% geq 60 set/a mm=%mm%-60
if %mm% lss 60 goto E
goto loop
:E
:loop2
if %hh% geq 24 set /a hh=%hh%-24
if %hh% lss 24 goto E2
goto loop
:E2
time %hh%:%mm%
pause

但是如果时间是11:07分,运行一次时间就变回11:01、12:07运行一次就变回12:01.

请高手帮忙!

Last edited by m72131 on 2009-1-28 at 04:47 ]

作者: m72131     时间: 2009-1-27 14:57
请高手帮忙!

作者: lxmxn     时间: 2009-1-27 17:31
这个用vbs的DateAdd函数就可以啦

@echo off
echo/wscript.echo formatdatetime(dateadd("n",1,now),4)>%tmp%\ttt.vbs
echo now is %time%
for /f "delims=" %%a in ('cscript //nologo %tmp%\ttt.vbs') do (
echo new time is %%a
time %%a
)
pause

作者: netbenton     时间: 2009-1-27 21:20
set/a mm=%time:~3,2%
把这句改成:
set/a mm=1%time:~3,2%-100
就可以了.

数的多进制问量,0x??十六进制,0?八进制,??十进制
set /?
按两次空格看看就知道了

作者: m72131     时间: 2009-1-28 04:46
感谢4楼!谢谢大家!

Last edited by m72131 on 2009-1-28 at 04:49 ]