Мне нужно выбрать случайное имя файла из определенного каталога N раз, но как его получить, когда необходимо вызвать как массив, так и переменную индекса с использованием отложенного расширения?
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET /A filesCount=0
FOR %%f IN (*) DO (
SET files[!filesCount!]=%%~f
SET /A filesCount+=1
)
FOR /L %%x IN (1, 1, !N!) DO (
SET /A srcIndex=!random! %% !filesCount!
SET srcFile=!files[!srcIndex!]!
ECHO srcFile
)
ENDLOCAL
Проблема в SET srcFile=!files[!srcIndex!]!
.
Теперь это выглядит как "значение files[
, затем srcIndex
, а затем значение ]
"
Как это сделать "значение files[i]
, где i
- это значениеsrcIndex
"