Я пытаюсь создать простой командный файл для установки Windows CRM. Для этого я создал 2 массива, которые содержат URI и имя загруженных файлов.Использовать цикл с несколькими массивами
Теперь я хочу итерации в массив тезисов, чтобы загрузить мои файлы. я продолжу этот путь:
setlocal EnableDelayedExpansion
set name=(
SSCERuntime-ENU-x86.msi
SSCERuntime-ENU-x64.msi
msoidcli_64.msi
wllogin_64.msi
ReportViewer.exe
CRM2011-Client-FRA-i386.exe
)
set link=(
"http://go.microsoft.com/fwlink/p/?LinkId=147327"
"http://go.microsoft.com/fwlink/p/?LinkId=147326"
"http://go.microsoft.com/fwlink/p/?LinkId=221500"
"http://go.microsoft.com/fwlink/?LinkId=194722"
"http://go.microsoft.com/fwlink/?LinkId=193386&clcid=0x409"
)
for %%G in %name% do echo %%G = !%%G!
SET i = 1
(for %%a in (%name%) do (
if exist \\srv-dc22\netlogon\CRM\%%G (
echo %%G : Already donwnloaded
)else (
echo Downloading %%G
powershell -command "& { iwr %link[i]% -OutFile %%G }"
SET /A i+=1
)
)
)
Но даже если я успех, чтобы получить значение «имя», я не успеха итерации моего «ссылка» массив.
Что случилось?
Вам нужно добавить _space_ + '^' в каждую строку в ваших многострочных командах 'set' (кроме после') '), чтобы сообщить интерпретатору команд, что командная строка продолжается; в противном случае каждая строка интерпретируется как отдельная команда; _space_ служит разделителем (необходимо позже для 'for'); если какой-либо из элементов содержит пробелы или специальные символы, заключите их в '' ''; разверните переменную 'for', используя' ~ 'like' %% ~ a', чтобы удалить символ '' '' after ... – aschipfl
Я пробовал то, что вы мне дали, но, похоже, не является функциональным. У меня все еще нет ссылки – f1rstsurf