FOR /L %%i in (1,1,100) DO (
SET /A modder=%%i %% 3
SET /A result=%modder%+5
SET /A total=%total%+%result%
)
SET /A final=%total%/100
ECHO The average of (1 to 100 mod 3) +5 is: %total% >> results.txt
我是Windows Batch脚本的新手,但是我已经被困在这里并且无法解决任何问题。我需要经历这个for循环并使用mod 3计算从1到100的每个数字,然后向它添加5。 (1到100 mod 3)+ 5.之后,我需要将最终结果附加到results.txt文件中。
无论我做什么或改变什么,程序都会立即崩溃,或者我会得到一个" Missing Operand"消息100次。我不能告诉我哪里犯了错误以及如何解决它。如果有人能提供帮助,我会非常感激。谢谢!
答案 0 :(得分:3)
您需要delayed expansion或者您只需删除循环中的%
- es(仅适用于set /a
):
@echo off
FOR /L %%i in (1,1,100) DO (
SET /A modder=%%i %% 3
SET /A result=modder+5
SET /A total=total+result
)
SET /A final=%total%/100
ECHO The average of (1 to 100 mod 3) +5 is: %total%