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函数就可以啦
CODE:  [Copy to clipboard]
@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 ]




欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) Powered by Discuz! 2.5