0

While following a tutorial for iterating over arrays in a batch script I didn't get the same result:

enter image description here

@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]! 
)

When I run this command I get:

enter image description here

2
  • 1
    This means that the people that wrote such a tutorial didn't tested its own code! :( I suggest you to read this answer about array management in Batch files... Commented Jun 5, 2017 at 18:23
  • @Aacini Yes - I agree. I sent them an email. The sad part is it's a very prominent website. The whole tutorial series is like this and it's like 24 chapters. Commented Jun 5, 2017 at 18:24

1 Answer 1

6

in batch spaces matter because it's an argument delimiter

set topic[0] = comments

should be

set topic[0]=comments

Something strange with cmd is that variables can terminate with a space

set topic[0] = comments
echo %topic[0] %
 comments
Sign up to request clarification or add additional context in comments.

1 Comment

This fixed my issue. Thanks!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.