Объединить строку из массива - PullRequest
0 голосов
/ 17 января 2019

Я хочу объединить строку в массиве внутри цикла for. Как только он объединяется, он должен выполнить какую-то задачу, а затем перейти к другой переменной в массиве. Пожалуйста, дайте мне знать, как это сделать. Приведите мне несколько примеров.

Вот код, который я пытаюсь выполнить.

@echo off 
set topic[0]=USB
set topic[1]=hello
set topic[2]=mic 
set topic[3]=Operators 
set file = C:\Users\User\Android_Studio_Projects

for /l %%n in (0,1,2) do ( 
    set file=%file% CD\!topic[%%n]!
)
pause

1 Ответ

0 голосов
/ 17 января 2019

Вы должны быть осторожны с вашими пробелами после = при установке переменных, также, чтобы использовать delayedexpansion, вам необходимо включить его. Вы также задаете тренды в строке с пробелами в настройках переменных, всегда заключайте набор переменных в двойные кавычки, как я сделал ниже. Попробуйте это:

@echo off
setlocal enabledelayedexpansion
set "topic[0]=USB"
set "topic[1]=hello"
set "topic[2]=mic"
set "topic[3]=Operators"
set "file=C:\Users\User\Android_Studio_Projects\"

for /l %%n in (0,1,3) do ( 
    echo cd %file%!topic[%%n]!
)
pause

Вам не нужно устанавливать %file% снова внутри цикла, видя, что ничего не изменилось. Это только покажет вам команду, чтобы перейти к каждому каталогу, просто удалите echo в цикле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...