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%