Итерация по пакетному скрипту массива

Следуя руководству по повторению массивов в пакетном скрипте, я не получил тот же результат:

@echo off 
setlocal enabledelayedexpansion 
set topic[0] = comments 
set topic[1] = variables 
set topic[2] = Arrays 
set topic[3] = Decision making 
set topic[4] = Time and date 
set topic[5] = Operators 

for /l %%n in (0,1,5) do ( 
   echo !topic[%%n]! 
)

Когда я запускаю эту команду, я получаю:

1 ответ

Решение

В пакетных пространствах имеет значение, потому что это разделитель аргумента

set topic[0] = comments

должно быть

set topic[0]=comments

Что-то странное с cmd в том, что переменные могут заканчиваться пробелом

set topic[0] = comments
echo %topic[0] %
 comments
Другие вопросы по тегам