如何让一个变量加上一个随机数?
How to make a variable plus a random number?
这是我的一小段代码:
if %a%==1 set /a count=%count%+%random% %%100
它所做的(目前)只是保持 %count%
不变,而不是增加 1 到 100 之间的随机数。
我想要它做的是:
如果 a
等于 1(它总是在较早的代码行中),它将增加 count 一个介于 0 和 99 之间的随机数。如果有人能提供帮助,那就太好了! (这是我第一次使用 Whosebug,而且我是编程新手,所以让它变得简单!)
我不确定你的问题是什么?你有没有发布你的完整脚本?以下脚本适合我。
@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 指出的那样,如果您在另一个块内(例如,在 for 循环内)使用 count
,您可能会遇到问题。以下无效。
@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!
)
这是我的一小段代码:
if %a%==1 set /a count=%count%+%random% %%100
它所做的(目前)只是保持 %count%
不变,而不是增加 1 到 100 之间的随机数。
我想要它做的是:
如果 a
等于 1(它总是在较早的代码行中),它将增加 count 一个介于 0 和 99 之间的随机数。如果有人能提供帮助,那就太好了! (这是我第一次使用 Whosebug,而且我是编程新手,所以让它变得简单!)
我不确定你的问题是什么?你有没有发布你的完整脚本?以下脚本适合我。
@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 指出的那样,如果您在另一个块内(例如,在 for 循环内)使用 count
,您可能会遇到问题。以下无效。
@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!
)