批处理文件中for循环的问题

时间:2016-03-18 16:06:53

标签: loops batch-file for-loop

我正在尝试使用1-100的模数进行批量创建for循环,然后返回整个数字集的平均值。我想在屏幕上打印这个平均值,并打印到一个名为output的文件。这就是我所拥有的,但它似乎没有正常工作。有什么建议?谢谢你。

@echo off
setlocal EnabledDelayedExpansion
for /l %%i in (1,1,100) do (
    set /a EXPR = %%i %% 5
    set /a EXPR2 = %EXPR+3
    set /a TOTAL = TOTAL+%EXPR2
) 
set /a AVG = %TOTAL/100
echo Your average is %AVG
echo Your average is %AVG >> output.txt

1 个答案:

答案 0 :(得分:1)

@echo off
setlocal EnableDelayedExpansion
for /l %%i in (1,1,100) do (
    set /a EXPR=%%i %% 5
    set /a EXPR2=EXPR+3
    set /a TOTAL=TOTAL+EXPR2
) 
set /a AVG=TOTAL/100
echo Your average is %AVG%
echo Your average is %AVG% 

这是你想要的吗?

EnableDelayedExpansion中的另外一个d(顺便说一句set /a也可以在没有延迟扩展的情况下工作)。经典错误是让空间围绕变量赋值。在批处理脚本中,结果是空格成为变量名的一部分。除了令牌和命令行参数变量是两边用%

括起来