Для создания массива:
setlocal EnableDelayedExpansion
set i=0
for /F %%a in (theFile.txt) do (
set /A i+=1
set array[!i!]=%%a
)
set n=%i%
Для печати элементов массива:
for /L %%i in (1,1,%n%) do echo !array[%%i]!
Если вы хотите передать имя массива и длину в качестве параметров подпрограммы, используйте этот способ:
call theSub array %n%
:theSub arrayName arrayLen
for /L %%i in (1,1,%2) do echo !%1[%%i]!
exit /B