Как в цикл for (cmd) объединить вот эти три цикла?

Чего только не перепробовал, но остановился на этой версии, которая тоже не работает:

for /l %%i in (%1\*.%4, %2\*.%4, %3\*.%4)  do 
( 
  if "%1\.%4" == "%%i" (7z a task\arch_%4 "%%i")
  else (if "%2\.%4" == "%%i" (7z a task\arch_%4 "%%i"))
  else (if "%3\.%4" == "%%i" (7z a task\arch_%4 "%%i"))
)

Версия с тремя циклами:

for %%i in (%1\*.%4, %2\*.%4, %3\*.%4)  do 7z a task\arch_%4 "%%i"
for %%i in (%1\*.%5, %2\*.%5, %3\*.%5)  do 7z a task\arch_%5 "%%i"
for %%i in (%1\*.%6, %2\*.%6, %3\*.%6)  do 7z a task\arch_%6 "%%i"

Ответы (1 шт):

Автор решения: Qwertiy

Если в расширениях нет пробелов, то вот так:

for %%e in (%4 %5 %6) do for %%f in (%1\*.%%e, %2\*.%%e, %3\*.%%e) do echo arch_%%e "%%f"
→ Ссылка