Вы можете найти
set array>examplefile
или
for /f "tokens=1*delims==" %%a in ('set array 2^>nul') >>examplefile
полезными.
set array
отображает текущий (т.е. время выполнения)значения всех имен переменных, которые начинаются array
.
Формат первого должен быть
array1=37
array10=61
array11=89
array2=55
...
, чтобы вы могли легко перезагрузить массив точно так же, как это было с
for /f "delims=" %%a in ('type examplefile') do set "%%a"
Второй должен просто дать
37
61
89
55
Обратите внимание, что это в строгом алфавитном порядке имен переменных.
Что касается вашей проблемы, вам нужно if not defined array%i%
as !array%i%!
- это содержимое переменной, тогда как без !
это сама переменная.Например, вы бы выполнили if (not) defined 4
, если бы содержимое переменной array%i%
было 4
.