批量 - 对于循环1-100,每个的mod 5

时间:2014-10-12 03:26:15

标签: loops batch-file for-loop modulus

课程批处理...无法解决这个问题。目前有

:forLoop
echo.
for /L %%x in (1, 1, 100) do ( 
    SET /A result=%%x %% 2
    echo %%x
)

任何想法的人?

编辑:我试图使用for循环从1迭代到100.然后在for循环中获得1,2,3,4的模数等。所以在我的例子中它将是模数x 。其中x不断递增。

1 个答案:

答案 0 :(得分:1)

试试这个:

SETLOCAL ENABLEDELAYEDEXPANSION

:forLoop
echo.
for /L %%x in (1, 1, 100) do ( 
    SET /A result=%%x %% 2
    echo !result!
)

第一个命令是在执行时扩展变量所必需的。

使用!符号执行变量的延迟扩展(在运行时)。

如果您使用%,则会获得解析时间值。

修改

考虑到Stephan建议,我发现我们可以使用call来获得更短的解决方案:

for /L %%x in (1, 1, 100) do (
    set /A result="%%x %% 2"
    call echo %%result%%
)