Извините. Я прочитал этот вопрос, и я не могу удержаться от соблазна разъяснить пару моментов.
пакетный файл, как правило, получают несколько слова в качестве параметров, как эти из них:
myScript.bat cars plans others
предыдущий файл Пакетный получить 3 параметра, которые могут быть обработаны с помощью% 1,% 2 и% 3 обычным способом , Если вы хотите, чтобы один параметр получить несколько слов, все они должны быть заключены в кавычки:
myScript.bat "cars plans others"
Предыдущий файл Batch получить один параметр, которые содержат несколько слов, которые могут быть обработаны с помощью% 1.Обратите внимание, что следующие строки точно так же, по сравнению с предыдущими примерами:
set QUEUES=cars plans others
myScript.bat %QUEUES%
Предыдущий файл Batch получить 3 параметров и:
myScript.bat "%QUEUES%"
... предыдущий файл Batch получить один параметр.
список является переменной, которая содержит несколько значений, разделенных пробелами, как этот:
set QUEUES=cars plans others
Вы можете передать этот список для пакетного файла в качестве параметра таким образом:
myScript.bat QUEUES
Предыдущий пакетный файл принимает один параметр, который является списком переменной. Для обработки значений списка в myScript.bat, использовать этот метод:
setlocal EnableDelayedExpansion
FOR %%q in (!%1!) DO echo %%q
массив является переменной состоит из нескольких элементов, определенных числовым нижним индексом, как этот:
set NAMES[1]=cars
set NAMES[2]=plans
set NAMES[3]=others
Массив, как правило, имеет простой способ узнать количество элементов в нем; например:
set NAMES.length=3
Вы можете передать этот массив строк в пакетном файле в качестве параметра таким образом:
myScript.bat NAMES
Предыдущий файл Batch получить один параметр, который является массив. Для обработки элементов массива в myScript.bat, используйте этот метод:
setlocal EnableDelayedExpansion
FOR /L %%i in (1,1,!%1.length!) DO echo !%1[%%i]!
Correct , Спасибо! –