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


  Quote:
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楼的方法也可以.

  Quote:

  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