Я знаю, что Batch - это плохой язык сценариев, и вы не можете ожидать от него многого, но я думаю, что это можно сделать, но я не знаю, есть ли более простые способы. Я хочу перебрать два списка элементов (одинаковое число), связанных между собой аналогично ассоциативному массиву. Я хочу сохранить ссылку на позицию элемента в первом списке и получить элемент из второго списка. Может быть, этот код будет лучше объяснить:Списки сопоставления и сканирования в пакете
SET Projects=(Project1 Project2 Project3)
SET Files=(Project1.txt Project2.txt Project3.txt)
for %%i in %Projects% do (
:: Get the corresponding value in Files like SET ProjectFile=Projects[%%i]
)
Для Project1
Я хочу получить Project1.txt
для Project2
Я хочу Project2.txt
и так далее. Есть ли какой-либо трюк или даже более сложный способ достичь этого?
Теперь у меня есть только, чтобы узнать, как получить конкретное значение (например, файл, соответствующий Project2) – ali
Это вопрос о правилах. Я полагаю, что ваше правило для каждого проекта одного файла, а порядок в обоих списках один и тот же. Но, возможно, лучше определить для каждого проекта собственный список файлов, например 'set file_project1 = file1.c file2.c ...' – jeb
Спасибо, я полагаю, это намного лучше – ali