我正在尝试使用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
答案 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
也可以在没有延迟扩展的情况下工作)。经典错误是让空间围绕变量赋值。在批处理脚本中,结果是空格成为变量名的一部分。除了令牌和命令行参数变量是两边用%