这里有我的一点代码:
if %a%==1 set /a count=%count%+%random% %%100
它的作用(目前)只是保持%count%
而不是增加1到100之间的随机数。
我想要它做的是:
如果a
等于1(它总是在较早的代码行中),则会增加0到99之间的随机数。如果有人可以提供帮助,那就太棒了! (这是我第一次使用stackoverflow而且我是编程新手,所以请简单一点!)
答案 0 :(得分:0)
我不确定你的问题是什么?你发布了完整的脚本吗?以下脚本适合我。
@echo off
setlocal
set a=1
set count=0
echo count: %count%
if %a% == 1 set /a count=%count%+%random% %%100
echo count: %count%
正如 MC ND 指出,如果您在另一个区域内使用count
(例如,在for循环中),则可能会遇到问题。以下不起作用。
@echo off
setlocal
set a=1
set count=0
for /L %%x in (1,1,1) do (
if %a% == 1 set /a count=%count%+%random% %%100
rem This always prints 0!
echo count: %count%
)
要使其工作,请使用setlocal enableDelayedExpansion
。以下内容再次有效。
@echo off
setlocal enableDelayedExpansion
set a=1
set count=0
for /L %%x in (1,1,1) do (
if !a! == 1 set /a count=!count!+%random% %%100
rem Now this works!
echo count: !count!
)