Board logo

标题: 如何实现for循环中对%A的运算 [打印本页]

作者: telent     时间: 2006-12-13 22:33    标题: 如何实现for循环中对%A的运算
比如批处理
FOR /L %%A IN (1,1,10) DO( SET M=10*%%A
.
.
.
.
.
.
.
)

算的结果好像不对啊,错在什么地方了?

作者: 9527     时间: 2006-12-13 22:39
for /l %a in (1,1,10) do set /a m=10*%a

你缺少了/A参数

作者: telent     时间: 2006-12-14 00:08
Originally posted by telent at 2006-12-13 09:33 AM:
比如批处理
FOR /L %%A IN (1,1,10) DO( SET M=10*%%A
.
.
.
.
.
.
.
)

算的结果好像不对啊,错在什么地方了?




/A是我忘写了,我是说得到的M值总不对,总得到100
FOR /L %%A IN (1,1,10) DO( SET M=10*%%A
echo %m%)
得到的总是100
为什么啊?

作者: zh159     时间: 2006-12-14 00:12
call echo %%m%%

作者: lxmxn     时间: 2006-12-14 00:20

  要用到变量延迟。搜索论坛里面关于变量延迟的老帖子。

作者: lxmxn     时间: 2006-12-14 00:23

  给一段演示的代码:

@echo off&setlocal enabledelayedexpansion
for /l %%a in (1,1,10) do (
set /a m=10*%%a
echo !m!
)
pause

作者: hxuan999     时间: 2006-12-14 02:16
4楼的方法也可以.


  1. @echo off
  2. FOR /L %%A IN (1,1,10) DO (
  3. SET /a M=10*%%A
  4. call echo.%%M%%
  5. )
  6. pause
hxuan?表ー: 2006-12-13 13:17