将随机整数变量批量插入数组索引中

时间:2018-05-15 13:55:06

标签: batch-file

我正在尝试使用下面的代码从预定数组中选择10个随机字符串中的1个。 当%Answer%为echo时,它会输出“randomNumber”。

我出错的任何想法。

echo off
setlocal enabledelayedexpansion

set /a randomNumber=%RANDOM% %%10
set Answer=!foo[(%randomNumber%)]!
echo %Answer%
pause
编辑:这是我创建数组的方式(上下文:我正在尝试编写Magic 8 Ball)

set a/ foo[0]=Majic8BallDon'tKnow.Majic8BallSaysAskAgain..
set a/ foo[1]=You are not worthy of an answer..
set a/ foo[2]=You wouldn't understand if I told you..

依此类推foo [9]

1 个答案:

答案 0 :(得分:2)

你有两个选择。

使用延迟扩展。

setlocal enabledelayedexpansion
set /a randomNumber=%RANDOM% %%10
set Answer=!foo[(%randomNumber%)]!
echo %Answer%
pause

或使用通话命令

set /a randomNumber=%RANDOM% %%10
call set Answer=%%foo[(%randomNumber%)]%%
echo %Answer%
pause

我不知道你是如何创建阵列的,所以这个答案可能需要一些调整。