楼 主
为什么x+=1后运算结果和x运算结果相同,第二次+=1才不同
发表于 2007-01-19 06:29 · 中国 浙江 温州 电信
中级用户
★★
积分 458
发帖 196
注册 2006-10-05 12:04
19年会员
UID 64614
状态 离线
当变量1满足要求后变量2递增1
可是遇到一点小问题,搞不懂
下边我取出这部分有关的代码,大家帮忙看下
代码中变量y达到要求所以变量x累加
但第一次加1后结果a和原来的a相同的
第二次x累加后结果a才是递增的
怎么样才可以让第一次累加结果也和原始的不同
@echo off
cls
set /a z=1
set /a x=2
set /a y=3
call :计算 %x% %y%
goto :eof
:计算
set /a a=(240+%1*24)*1^<^<(%z%-1)
echo a=%a%
:main
set /a y+=100
if %y% GEQ 1000 (
echo ..........
set /a x+=1 <---------这里x累加1
set /a y=0
call :计算 %x% 0
)
goto :main
[ Last edited by namejm on 2007-1-18 at 09:34 PM ]
第 2 楼
发表于 2007-01-19 07:42 · 中国 浙江 温州 电信
中级用户
★★
积分 458
发帖 196
注册 2006-10-05 12:04
19年会员
UID 64614
状态 离线
大家帮帮忙啊,解决这个问题脚本就大功告成了
我研究一整天了
第 3 楼
发表于 2007-01-19 09:44
中级用户
★★
DOS之日
积分 337
发帖 161
注册 2006-11-04 05:27
19年会员
UID 69523
性别 男
状态 离线
试试这样可以不,把call :计算 %x% 0改成call :计算 %%x%% 0
@echo off
cls
set /a z=1
set /a x=2
set /a y=3
call :计算 %x% %y%
goto :eof
:计算
set /a a=(240+%1*24)*1^<^<(%z%-1)
echo a=%a%
:main
set /a y+=100
if %y% GEQ 1000 (
echo ..........
set /a x+=1
set /a y=0
call :计算 %%x%% 0
)
goto :main
for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
第 4 楼
发表于 2008-02-14 16:52 · 中国 广东 东莞 电信
初级用户
★★
积分 201
发帖 92
注册 2005-12-28 17:44
20年会员
UID 48072
状态 离线
set t=time /t
t%
15:41
set /a %t%+=1
以零为除数的错误。
第 5 楼
发表于 2008-02-14 17:09 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
2007-1-19 06:29
。。。这帖子。。都掘出来了……
论坛跳转: