中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-16 10:51
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批處理.! 時間轉化.(9909s-->02:30:09)! 請教() 查看 967 回复 3
楼 主 批處理.! 時間轉化.(9909s-->02:30:09)! 請教() 发表于 2006-06-06 17:08 ·  中国 江苏 苏州 电信
中级用户
★★
过度热情
积分 321
发帖 139
注册 2006-03-21 17:19
UID 52521
性别 男
状态 离线
@echo off
setlocal enabledelayedexpansion
set /a %sum2%=9009
set /a rhour=(%sum2%)/3600
set /a rmin=(%sum2%)%3600/60
echo %rhour% %rmin%
endlocal
2 发表于 2006-06-06 17:13 ·  中国 江苏 苏州 电信
中级用户
★★
过度热情
积分 321
发帖 139
注册 2006-03-21 17:19
UID 52521
性别 男
状态 离线
不知為什麼有問題.! 請教請教.! 謝謝!
3 发表于 2006-06-06 17:38 ·  中国 山西 运城 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
UID 19
性别 男
状态 离线
Re piziliu2004:

代码存在几个问题:

1、环境变量只有在引用时才需要使用一对百分号括起,在对其赋值时不需要加百分号,否则会将变量的值作为一个新的环境变量的名字。

2、表达式中使用求余符号时,需要使用连续的双百分号,否则会被当作变量转义符被脱去。

3、而set /a字句自身具有引用变量的功能,引用变量时可加或不加百分号,它们行为有少许不同,见附录代码中的最后两句。


@echo off & setlocal enabledelayedexpansion
set /a sum2=9009
set /a rhour=sum2/3600, rmin=sum2%%3600/60, rsec=sum2%%60
echo %rhour%:%rmin%:%rsec%
set rhour=0%rhour%&set rmin=0%rmin%&set rsec=0%rsec%
set rhour=%rhour:~-2%&set rmin=%rmin:~-2%&set rsec=%rsec:~-2%
echo %rhour%:%rmin%:%rsec%
set /a test=12, test2=test+2, test3=%test%+3
echo %test%,%test2%,%test3%
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
4 发表于 2006-06-07 09:02 ·  中国 江苏 苏州 电信
中级用户
★★
过度热情
积分 321
发帖 139
注册 2006-03-21 17:19
UID 52521
性别 男
状态 离线
thanks.!
论坛跳转: