Сходу...
@echo off
setlocal enabledelayedexpansion
:: инициализировать 10 переменные вида arr.X случайными числами
for /l %%i in ( 0, 1, 9 ) do (
set /a arr.%%i=!RANDOM!
)
set arr
endlocal
Здесь скорее стоит вопрос о соглашении, что считать массивом и как он должен выглядеть. В своем примере я использовал "точечную" нотацию arr.i в отличие от общепринятой "скобочной" arr[i].
Пользуюсь сам именно точечной нотацией. Фактически рассматриваю такие переменные как элементы ассоциативного массива или как пространство имен, за которым удобно следить. Например, есть некоторый "проект", в котором определен набор переменных, имеющих одинаковый префикс:
set prefix.param1=%~1
set prefix.param2=%~2
:: удобство отладки
set prefix
:: легко перенапралить на STDERR
set prefix>&2
:: ... или в файл
set prefix>filename.log
:: относительно просто удалить переменные
for /f "tokens=1,* delims==" %%k in ( 'set prefix' ) do (
set %%k=
)
( 2 * b ) || ! ( 2 * b )