中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-11 07:07
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请高手帮忙:批处理修改系统时间(问题已解决) 查看 932 回复 4
楼 主 请高手帮忙:批处理修改系统时间(问题已解决) 发表于 2009-01-27 13:58 ·  中国 陕西 咸阳 电信
新手上路
积分 10
发帖 7
注册 2008-08-08 01:48
18年会员
UID 122946
性别 男
状态 离线
首先祝大家新年快乐、身体健康、合家欢乐!

我希望实现如下功能:只要一运行该批处理,系统时间就自动在原时间基础上向前调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 ]
2 发表于 2009-01-27 14:57 ·  中国 陕西 咸阳 电信
新手上路
积分 10
发帖 7
注册 2008-08-08 01:48
18年会员
UID 122946
性别 男
状态 离线
请高手帮忙!
3 发表于 2009-01-27 17:31 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
这个用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
4 发表于 2009-01-27 21:20 ·  中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916
发帖 752
注册 2008-12-28 04:30
17年会员
UID 135147
性别 男
来自 广西
状态 离线
set/a mm=%time:~3,2%
把这句改成:
set/a mm=1%time:~3,2%-100
就可以了.

数的多进制问量,0x??十六进制,0?八进制,??十进制
set /?
按两次空格看看就知道了
精简
=> 个人网志
5 发表于 2009-01-28 04:46 ·  中国 陕西 咸阳 电信
新手上路
积分 10
发帖 7
注册 2008-08-08 01:48
18年会员
UID 122946
性别 男
状态 离线
感谢4楼!谢谢大家!

[ Last edited by m72131 on 2009-1-28 at 04:49 ]
论坛跳转: